Java连接数据库

Java连接数据库

新建web project

  • com:包名
    • gx:自己的包名
      • servlet/web/controller servlet(有点类似mvc中的控制器,用来接收页面的参数,放回参数给页面,控制页面跳转,以及参数校验,但不进行数据的操作,只负责调用)
      • servlce: 放服务层的接口(Java中的服务:有的时候是对更底层的调用,有的时候就是对业务逻辑的处理)
        • impl:服务接口的实现类
      • dao: 数据库操作接口(和数据库中的表一一对应,就是相当于对数据库的表的每一个的封装,注意:一个dao只能操作一张表)
        • impl:数据库操作接口的实现类
      • po:数据的实体类模型
      • vo:用来和页面对应的一个实体类
      • common:放公共的类
      • filter:过滤器
      • util:工具类

JDBC链接数据库:

常用接口:

  1. 提供的接口包括:JAVA API:提供对JDBC的管理链接;
  2. JAVA Driver API:支持JDBC管理到驱动器 连接。
  3. DriverManager:这个类管理数据库驱动程序的列表,查看加载的驱动是否符合JAVA Driver API 规范。
  4. Connection:与数据库中的所有的通信是通过唯一的连接对象。
  5. Statement/PreparedStatement:用于执行静态SQL语句并返回其生成的结果/SQL语句已预编译并储存在一个PrepareStatement对象中,然后可以使用该对象多次有效地执行此语句;
  6. ResultSet:它是一个迭代器,用于检索查询数据。(表示数据结果集的数据 表,通常通过执行查询数据库的语句生成;

eg:

 //第一步;加载驱动;

 Class.forName("com.mysql.cj.jdbc.Driver");

 //第二步:获取数据库链接

 String url="jdbc:mysql://localhost:3306/demo_db_2019?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false";

 String userName="root";

 String passWord="root";

 Connection conn=null;

 PreparedStatement ps=null;

 ResultSet re=null;

 try {

     conn= DriverManager.getConnection(url,userName,passWord);

     //第三步: 创建 statement

     //Statement statement=conn.createStatement();

     String strSql="SELECT id,user_name,`passWord`,read_name,sex,age,birthday,phone,address,`role id` FROM sys_user";

     ps=conn.prepareStatement(strSql);

     //第四步:执行;

     re=ps.executeQuery();

     //第五步:获取数据;

     while (re.next()){

         StringBuffer buffer=new StringBuffer();

         int id=re.getInt("id");

         String username=re.getString("user_name");

         String realName=re.getString("read_name");

         byte sex=re.getByte("sex");

         Date birthday=new Date(re.getDate("birthday").getTime());

         buffer.append("id="+id);

         buffer.append(";user_name="+username);

         buffer.append(";realName="+realName);

         buffer.append(";sex="+sex);

         buffer.append(";birthday="+birthday);

         System.out.println(buffer.toString());

    }

     System.out.println(conn);

 } catch (SQLException SQLException) {

     SQLException.printStackTrace();

 }finally {

     if (conn!=null){

         try {

             conn.close();

        } catch (SQLException throwables) {

             throwables.printStackTrace();

        }

    }

     if(ps!=null){

         try {

             ps.close();

        } catch (SQLException throwables) {

             throwables.printStackTrace();

        }

    }

     if (re!=null){

         try {

             re.close();

        } catch (SQLException throwables) {

             throwables.printStackTrace();

        }

    }

 }

Mysql 驱动和连接字符串

版本

驱动

链接字符串

5.x

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/dbname? useUnicode=true&characterEncoding=utf8

8.x

com.mysql.cj.jdbc.Driver

r jdbc:mysql://localhost:3306/demodb? characterEncoding=UTF8&serverTimezone=Asia/Shanghai&useSSL=false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值