jdbc第三天

数据库中有什么表就需要在Java代码中创建什么对象,表中有什么字段 对象中就有什么属性

数据库中有什么表就需要在Java代码中创建什么DAO(Data Access Object 数据访问对象)

批量操作

  • 为什么使用批量操作:因为每次执行sql都需要和数据库服务器进行数据交互,多次执行sql添加到一个批量处理里面,可以把多次交互变成一次交互,从而提高执行效率.

  • 参加代码 Batch.java

分页查询

  • 练习: 控制台输入查询的页数 和每页的条数 然后返回响应的数据
  • 参见代码 PageTest.java

事务

  1. 创建person表 id name money
  2. 插入 1 超人 500 , 2 蝙蝠侠 5000

create table person(id int,name varchar(10),money int); insert into person values(1,'超人',500),(2,'蝙蝠侠',5000);

实现 超人跟蝙蝠侠借2000块钱 实现的效果: 如果蝙蝠侠的钱足够 就借 输出借钱成功, 不够 就输出 蝙蝠侠家也没钱了

事务相关方法

  • 设置自动提交方法: conn.setAutoCommit(true/false)
  • 提交: conn.commit()
  • 回滚: conn.rollback()
  • 代码参见 TransactionDemo.java

获取自增主键的值

//执行sql并设置需要得到自增的值 stat.executeUpdate(sql ,Statement.RETURNGENERATEDKEYS); //获取自增的值 rs = stat.getGeneratedKeys(); while(rs.next()){ int id = rs.getInt(1); System.out.println("id="+id); } - 练习: 创建部门表dept(id,name) 创建员工表emp(id,name,deptid) 通过代码插入 神仙和观音 drop table emp; drop table dept; create table dept(id int primary key autoincrement,name varchar(10)); create table emp(id int primary key autoincrement,name varchar(10),deptid int);

  • 参见代码 DeptEmpDemo.java

获取元数据

  • 数据库元数据: 包括:数据库版本,用户名,密码,连接地址,数据库厂商名称等和数据库相关的信息 DatabaseMetaData dbmd = conn.getMetaData(); System.out.println("驱动版本:" +dbmd.getDriverVersion()); System.out.println("用户名:" +dbmd.getUserName()); System.out.println("连接地址:" +dbmd.getURL()); System.out.println("数据库厂商:" +dbmd.getDatabaseProductName());
  • 表元数据:包括表有多少个字段,每个字段的类型等 //从结果集中得到表相关的元数据 ResultSetMetaData rsmd = rs.getMetaData(); //得到表字段的数量 int columCount = rsmd.getColumnCount(); for (int i = 0; i < columCount; i++) { String name = rsmd.getColumnName(i+1); System.out.println(name); }

猜你喜欢

转载自blog.csdn.net/anqing_liu/article/details/80473478