为了账号安全,请及时绑定邮箱和手机立即绑定

JDBC之 “ 对岸的女孩看过来”

难度初级
时长 2小时 2分
学习人数
综合评分9.40
387人评价 查看评价
9.6 内容实用
9.3 简洁易懂
9.3 逻辑清晰
  • 注:模型层:主要包括两个部分,一部分是对应的数据库的映射,一部分是对数据库映射的抽象的方法。如增加,修改,删除,查询,简称CRUD。

    控制层:控制数据的流通过程 ,控制CRUD方法的运用,把数据拼装起来展示给视图层。

    视图层:对于数据的展示,展示给用户用的。

     


    查看全部
  • JDBC使用详情

    查看全部
  • JDBC 必要的工具

    查看全部
  • 数据库大致流程

    查看全部
    0 采集 收起 来源:JDBC 简介

    2018-05-29

  • MVC三层架构

    查看全部
  • @MySQL---List传参和StringBuilder的使用

    public List<Goddess> query(List<Map<String, Object>> params) throws Exception{//传入List集合参数
     List<Goddess> result=new ArrayList<Goddess>();
     
     Connection conn=DBUtil.getConnection();//连接数据库
     StringBuilder sb=new StringBuilder();//线程不安全,但大部分情况下速度快
     sb.append("select * from imooc_goddess where 1=1 ");
     
     if(params!=null&&params.size()>0){//判断是否为空
      for (int i = 0; i < params.size(); i++) {
       Map<String, Object> map=params.get(i);
       sb.append(" and  "+map.get("name")+" "+map.get("rela")+" "+map.get("value")+" ");
      }
     }
     
     PreparedStatement ptmt=conn.prepareStatement(sb.toString());//预编译
     
     System.out.println(sb.toString());
     ResultSet rs=ptmt.executeQuery();//执行查询
     
     Goddess g=null;
     while(rs.next()){//遍历查询结果集
      g=new Goddess();//赋值
      g.setId(rs.getInt("id"));
      g.setUser_name(rs.getString("user_name"));
      g.setAge(rs.getInt("age"));
      g.setSex(rs.getInt("sex"));
      g.setBirthday(rs.getDate("birthday"));
      g.setEmail(rs.getString("email"));
      g.setMobile(rs.getString("mobile"));
      g.setCreate_date(rs.getDate("create_date"));
      g.setCreate_user(rs.getString("create_user"));
      g.setUpdate_date(rs.getDate("update_date"));
      g.setUpdate_user(rs.getString("update_user"));
      g.setIsdel(rs.getInt("isdel"));
      
      result.add(g);//添加
     }
     return result;
    }
    查看全部
  • @JDBC---execute方法比较

    boolean execute(String sql)

    执行给定的 SQL 语句,如果SQL语句返回结果,该方法返回true,否则返回false。

    ResultSet executeQuery(String sql)

    执行给定的 SQL 语句,该方法返回 查询所获得的结果集ResultSet 对象

    int executeUpdate(String sql)

    执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或DELETE语句,返回更新所影响的行数。

    查看全部
  • @JDBC---预编译与日期转变

    1.预编译

    PreparedStatement和Statement的区别
    一.代码的可读性和可维护性。
    二.PreparedStatement提高性能,因在被编译后有缓存,下次用相同的不编译,传参直接执行。
    三.提高安全性。

    PrepareStatement ptmt=conn.prepareStatement(sql);//将sql加载到驱动程序中但不执行;
    ptmt.setString/Int....(index,值);//index为int或String
    ptmt.execute;//再执行

    2.日期转换
    java.sql.Date类是java.util.Date类的子类
    java.util.Date转java.sql.Date

    new java.sql.Date(new java.util.Date().getTime());

    java.sql.Date转java.util.Date

    new java.util.Date(new java.sql.Date());

    3.实例

    //通过静态方法,获取连接数据库的连接
    Connection conn = DBUtil.getConnection();
    
    //sql语句
    String sql = "insert into imooc_goddess " +
    "(user_name,sex,age,birthday,email,mobile, " +
    "create_user,create_date,update_user,update_date,isdel) " +
    "values(?,?,?,?,?,?,?,current_date(),?,current_date(),?);" ;
    
    //预编译sql语句
    PreparedStatement ptmt = conn.prepareStatement(sql);
    
    //赋值
    ptmt.setString(1, g.getUser_name());
    ptmt.setInt(2, g.getSex());
    ptmt.setInt(3, g.getAge());
    //java.util.Date转换java.sql.Date
    ptmt.setDate(4, new Date(g.getBirthday().getTime()));
    ptmt.setString(5, g.getEmail());
    ptmt.setString(6, g.getMobile());
    ptmt.setString(7, g.getCreate_user());
    ptmt.setString(8, g.getUpdate_user());
    ptmt.setInt(9, g.getIsdel());
    
    //执行sql语句
    ptmt.execute();
    查看全部
  • @JDBC---MVC的流程

    MVC架构模式:View(视图层)、Control(控制层)、Model(模型层)。
    Model:模型包括两部分,一个是对应数据库的映射,另一个是对数据库对应映射的方法。【如数据库操作的增查改删,简称CRUD。】
    Control:控制数据流通过程。
    View:将拼装起来的数据进行展示。

    查看全部
  • @JDBC---连接数据库
    三步获取数据库连接(需导入mysql-connector-java.jar包)

    1.加载驱动程序: Class.forName(driverClass)
    加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver")
    加载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver")
    ***注意:驱动是固定写法

    2.获得数据库连接:
    DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc","root","root");
    ***注释:其中jdbc:mysql表示jdbc连接mysql,127.0.0.1:3306为服务器地址和端口,imooc为数据库名称,root分别是用户名和密码

    3.创建Statement对象: conn.createStatement();

    4.连接数据库实例:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class DBUtil {
        private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc"; //imooc数据库名
       //这样可以避免中文乱码
       //private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf8"; 
        private static final String USER = "root";
        private static final String PASSWORD = "root";
    
        //使用static静态语句块,只会执行一次.
        /*private static Connection conn=null;
        static{  
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc","root","root");
        }
        public static Connection getConnection(){
    	return conn;
        }*/
         
        public static void main(String[] args) throws Exception {
            //1.加载驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            //2.获取数据库连接
            Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
            //3.通过数据库连接操作数据库,实现增删改查
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT user_name,age FROM imooc_goddess");
            while (rs.next()) {
                System.out.println(rs.getString("user_name") + "," + rs.getInt("age"));
            }
        }
    }
    查看全部
  • @JDBC---JDBC简介
    1、Java Data Base Connectivity(Java数据库连接):是java与数据库的桥梁,提供读写操作
    2、可以为多种数据库提供统一的访问,是一种统一标准
    3、通过JDBC可以连接Oracle、MySql、Sql Server数据库

    查看全部
    0 采集 收起 来源:JDBC 简介

    2018-05-27

  • 地址,用户名,密码
    查看全部
  • 1.JDBC java数据库连接
    查看全部
  • public Goddess query(String name) throws SQLException{

    //实例化一个数据库对应实体类对象

    Goddess g = new Goddess();

    //通过connection获取数据库连接

    Connection conn = DBUtil.getConnection();

    //根据姓名查询对应信息

    String sql = "select * from imooc_goddess where user_name = ?";

    //预编译sql语句

    PreparedStatement pstm = conn.prepareStatement(sql);

    //对占位符参数进行赋值

    pstm.setString(1, name);

    //执行查询获取结果集

    ResultSet rs = pstm.executeQuery();

    //判断rs是否为空

    if(rs.next()){

    //通过实体类set方法根据查询结果为对象g赋值

    g.setId(rs.getInt("id"));

    g.setUser_name(rs.getString("user_name"));

    g.setSex(rs.getInt("sex"));

    g.setAge(rs.getInt("age"));

    g.setBirthday(rs.getDate("birthday"));

    g.setEmail(rs.getString("email"));

    g.setMobile(rs.getString("mobile"));

    g.setCreate_date(rs.getString("create_date"));

    g.setCreate_user(rs.getString("create_user"));

    g.setUpdate_date(rs.getString("update_date"));

    g.setUpdate_user(rs.getString("update_user"));

    g.setIsdel(rs.getInt("isdel"));

    }

    //返回对象

    return g;

    }





    GoddessDao gs = new GoddessDao();

    System.out.println(gs.query("lucy"));


    查看全部
  • JDBC编程步骤

    查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java 中级课程,各位小伙伴们需要对 JAVA 基础,MySql 的应用 以及 SQL 语句的编写有基本了解。
老师告诉你能学到什么?
1、JDBC 的基本概念 2、JDBC 常用接口及使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!