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

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

难度初级
时长 2小时 2分
学习人数
综合评分9.40
387人评价 查看评价
9.6 内容实用
9.3 简洁易懂
9.3 逻辑清晰
  • @JDBC——JDBC简介——JDBC获取数据库连接 一、三步获取数据库连接(需要导入mysql-connector-java-5.1.7-bin的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();https://img1.sycdn.imooc.com//5c73e58f00016a5512800720.jpg

    查看全部
    1. 添加一个记忆变量previous,记录上一次进入的是哪一个分支<br>

    2. 通过定义Integer类型的变量step标记,从而添加相应的数据到数据库中<br> 注意:<br>

    3. StringBulider创建一个内容可变的字符串,使用append()方法<br>

    4. SimpleDateFormat("yyyy-MM-dd") 定义日期格式<br> Integer.valueof()将字符串类型转化为整型

    5. 日期格式强转: SimpleDateFormat sf=new SimpleDateFormat("格式") birthday=sf.parse(in);


    查看全部
  • 视图层设计:

    https://img1.sycdn.imooc.com//5c4da79b00011f3b14060974.jpg


    查看全部


  • 搭建控制层

     public List<Goddess> query(List<Map<String,Object>> params) throws Exception{//按名查询多个女神
       //3.通过数据库的连接操作数据库,实现增删查改
         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();
       
         List<Goddess> gs=new ArrayList<Goddess>();
         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"));
           gs.add(g);
         
        }
         return gs;
        }


    List<Map<String,Object>>params=new ArrayList<Map<String,Object>>();
      Map<String,Object>map=new HashMap<String,Object>();
      map.put("name", "user_name");
      map.put("rela", "=");
      map.put("value", "'小绿'");
      params.add(map);
      List<Goddess>result=ga.query(params);
      for(Goddess result1:result){
       System.out.println(result1.toString());
      }


    查看全部
  • 新增、修改女神的时候,传进来的是java.util.Date类型,需要转换java.sql.Date类型,但是往回转的时候,通过数据库传递出来java.sql.Date类型再转回到java.util.Date类型就不需要了

    因为java.sql.Date是java.util.Date子集


    数据库插入的时候  需要将java.utils.Date --->java.sql.Date

     因为sql.Date是utils.Date的子集 

    (而数据库中的 java.sql.Date--->java.utils.Date  则不需要强转)

    使用JDBC连接数据库需要四步,第一步加载驱动程序;第二步,连接数据库;第三步,访问数据库;第四步,执行查询;其中在第四步执行查询时,要用statement类的executeQuery()方法来下达select指令以查询数据库,executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。即语句:String sql="select * from"+tableName; ResultSet rs=s.executeQuery(sql);

    查看全部
  • 详细设计方案:

    https://img1.sycdn.imooc.com//5c4d5be3000197c716380974.jpg

    https://img1.sycdn.imooc.com//5c4d5c1800012e5714060974.jpg

    https://img1.sycdn.imooc.com//5c4d5c420001ea2614060974.jpg

    https://img1.sycdn.imooc.com//5c4d6f8d00017e5f14060974.jpg

    查看全部
  • @JDBC——JDBC简介——JDBC获取数据库连接 一、三步获取数据库连接(需要导入mysql-connector-java-5.1.7-bin的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();


    查看全部
  • JDBC简介:

    https://img1.sycdn.imooc.com//5c4bf0b30001e67714060974.jpg

    https://img1.sycdn.imooc.com//5c4bf1840001b3f616380974.jpg

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

    2019-01-26

  • JDBC各种连接方式的对比: 1、JDBC + ODBC桥的方式。特点:需要数据库的ODBC驱动,仅适用于微软的系统 这种方式,JDBC将调用传递给ODBC,然后ODBC再调用本地的数据库驱动代码。 2、JDBC + 厂商API的形式。特点:厂商API一般使用C编写 这种方式,JDBC将调用直接传递给厂商API的服务,然后在调用本地的数据库驱动。 3、JDBC + 厂商Database Connection Server + DataBase的形式。 特点:在JAVA与DATABASE之间架起了一台专门用于数据库连接的服务器(一般有数据库厂商提供) 这种方式,JDBC将调用传递给中间服务器,中间服务器再将调用转换成数据库能够被调用的形式,在调用数据库服务器。中间增设数据库服务器能够提升效率,但不如直接操作数据库便捷。 4、JDBC + DATABASE的连接方式。 特点:这使得Application与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。(没有中间环节,是推荐方式!)

    查看全部
    0 采集 收起 来源:课程总结

    2019-01-19

  • 1.添加一个记忆变量previous,记录上一次进入的是哪一个分支<br> 2.通过定义Integer类型的变量step标记,从而添加相应的数据到数据库中<br> 注意:<br> StringBulider创建一个内容可变的字符串,使用append()方法<br> SimpleDateFormat("yyyy-MM-dd") 定义日期格式<br> Integer.valueof()将字符串类型转化为整型

    查看全部
  • 1.更改while(true)中的true,使用Scanner中的hasNext()方法,有输入值的时候就循环,没有输入值的时候不循环。 2.使用toUpperCase()方法,如果输入为小写的exit则转为大写;或者为EXIT的首字母,均实现退出操作 Scanner scan=new Scanner(System.in); while(scan.hasNext()){ String in=scan.next().toString(); if(OPERATION_EXIT.equals(in.toUpperCase())||OPERATION_EXIT.substring(0,1).equals(in.toUpperCase())){ System.out.println("您已成功退出。"); break; } }

    查看全部
  • 控制层:接受view层的行为(参数),对model层数据操作,model层数据反馈给c层,c再反馈给v层

    查看全部
  • 使用query(List<Map<String,Object>> params) 和 where 1=1; jdbc传参数过多的时候:用List<Map<String,Object>> params双泛型作为参数:<br> if(params!=null&¶ms.siaze()>0){<br> for(int i =0;i<params.size();i++){<br> Map<String,Object> map = params.get(i);<br> sb.append("and "+map.get("name")+" "+map.get("relation")+" "+map.get("value")");<br> }<br> }<br> 接下来在Action(main方法)中:<br> GoddessDao g = new GoddessDao();<br> List<Map<String,Object>> params = new ArrayList<Map<String,Object>>;<br> Map<String,Object> param = new HashMap<String,Object>();<br> params.put("name","user_name");<br> params.put("relation","=");<br> params.put("value","'小美'");--------注意如果值是字符串需要加上单引号区分字符串<br> List<Goddess> result = g.query(parms);

    查看全部
  • 新增、修改女神的时候,传进来的是java.util.Date类型,需要转换java.sql.Date类型,但是往回转的时候,通过数据库传递出来java.sql.Date类型再转回到java.util.Date类型就不需要了

    因为java.sql.Date是java.util.Date子集


    数据库插入的时候  需要将java.utils.Date --->java.sql.Date

     因为sql.Date是utils.Date的子集 

    (而数据库中的 java.sql.Date--->java.utils.Date  则不需要强转)



    查看全部
  • //通过静态方法,获取连接数据库的连接 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()); 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()); ptmt.execute();

    查看全部

举报

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

微信扫码,参与3人拼团

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

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