XMind Logo
XMind loading animation.
Loading
Close
JDBC1
Map Outline
JDBC1
  1. 相关概念
    1. JDBC
      1. sun公司定义的一套操作数据库的规范,就是接口
    2. 驱动
      1. 就是实现类
  2. 开发步骤
    1. 第一步:导入mysql相关核心类库,核心类库应该放到某块的lib目录下
    2. 第二步编写java代码
      1. 1.加载驱动
      2. 2.获取连接(Connection)
      3. 3.获取操作数据库的对象(Statement)
      4. 4.操作数据库(executeUpdate)
      5. 5.释放资源
  3. 相关类说明
    1. DriverManager
      1. //jdbc表示协议名mysql表示连接的数据库类型 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
    2. Connection
      1. 3个功能1.获取Statement 2.PrepareStatement 3.管理事物
    3. Statement
      1. 1.查询executeQuery(SQL) 2.增删改executeUpdate(增删改SQL)
    4. PrepareStatement
      1. 获取方式connection.prepareStatement("SQL") 给占位符赋值的方法setObject(1,值); 查询executeQuery() 增删改executeUpdate();
  4. 下面案例用到的SQL
    1. CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(24) NOT NULL, age INT NOT NULL ) INSERT INTO student(`name`,age) VALUES('jack',23),('tom',34),('rose',45),('bob',56);
  5. 使用Statement完成增删改查
    1. 查询
    2. 增删改
      1. 如果想对表数据进行增删改,那么我们调用executeUpdate方法即可
      2. 增删改的SQL语句
        1. 添加
          1. insert into 表名(列1,列2..) values(值1,值2)
        2. 删除
          1. delete from 表名 where id=1
        3. 修改
          1. update 表名 set 列名=值,列名=值 where id=1
  6. JDBC工具类
    1. 书写步骤
      1. 1.构造方法私有化
      2. 2.编写静态方法,为了方便调用
    2. 功能
      1. 1.获取连接
      2. 2.释放资源
    3. 优化思想
      1. 1.驱动只需要加载一次,所以放在静态代码块中
      2. 2.数据库的连接信息配置在java中耦合性太强,所以将配置信息单独放到配置文件中,在静态代码块中读取配置信息
  7. JDBC操作事物
    1. 1.获取到connection 设置connection.setAutoCommit(false)表示不自动提交
    2. 2.执行完executeUpdate()方法后手动提交事务connection.commit()
    3. 转账案例
      1. SQL建表语句
        1. DROP TABLE IF EXISTS `account`; CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, `money` decimal(10,2) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; insert into `account`(`id`,`name`,`money`) values (1,'李赛','5000.00'),(2,'李咏','5000.00'),(3,'贺鹏','5000.00');
      2. 代码
  8. statement和prepareStatement的区别
    1. 1.代码方便阅读
    2. 2.防止SQL注入
    3. 3.PrepareStatement执行SQL语句效率高
  9. 三层做的事情
  10. 单词
    1. JDBC:java database connection Connection 连接 Driver 驱动 Manager 管理者 create 创建 statement 执行SQL的对象 preparedStatement 执行预编译SQL的对象 prepare 预报/准备 Result 结果 Set 集合 ResultSet 结果集 execute 执行 query 查询 executeQuery 执行查询 executeUpdate 执行更新 update 添加,删除,修改 auto 自动 commit 提交 autoCommit 自动提交 rollback 回滚 library 库 lib很多库 Syntax 语法
  11. 作业
    1. 使用PrepareStatement对象完成对员工表中数据的增删改查
      1. 预编译对象完成增删改查.java
    2. 编写工具类
      1. JdbcUtils.java
  12. 总结
    1. 1.学会建包 domain,utils,dao,service
    2. 2.能够使用PrepareStatement预编译对象完成对表数据的增删改查
    3. 3.转账案例 AccoutnDao.java 转账.java
  13. 补充
    1. lombok
    2. 实体类中属性为什么用包装类型
    3. 三层,使用三层完成查询
Copy the code to embed this map into your article. The embeded map can even be zoomed in / out
Open in XMind Gallery.
Full screen.
Exit full screen.
Show outline.