数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
Java数据库连接(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端如何来访问数
据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
commons-dbutils(简称DBUtils)是Apache组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,
简化了JDBC操作。
核心功能如下:
update(Connection conn, String sql, Object... params);
query(Connection conn, String sql, ResultSetHandler rsh, Object... params);
ResultSetHandler没有办法实例化,ResultSetHandler接口核心实现类,3大子类:
key就是字段名称,value就是字段值,即表的列名就是key,对应的值是value
字段值,再将这些Map封装到List集合中
select count(*) from ...;
select reg_name from ...操作
mysql
mysql-connector-java
5.1.38
commons-dbutils
commons-dbutils
1.6
public class JDBCUtils {
//连接的工具方法
public static Connection getConnection() {
//1、定义数据库连接
//Oracle:jdbc:oracle:thin:@localhost:1521:DBName
//SqlServer:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=DBName
//MySql:jdbc:mysql://localhost:3306/DBName
//api.lemonban.com/nmb—————数据库地址/数据库名字
String url="jdbc:mysql://localhost:3306/DBName?useUnicode=true&characterEncoding=utf-8";
String user="XXX";
String password="123456";
//2、‼️‼️定义数据库连接对象‼️‼️
//定义null,为了防止get不到值,返回提示未定义
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user,password);
}catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
QueryRunner qr = new QueryRunner();
String sql = "insert into tb_lemon_emp values(?,?,?)";
qr.update(conn,sql);
QueryRunner qr = new QueryRunner();
String sql = "update tb_lemon_emp set name=? where id = ?";
qr.update(conn,sql);
QueryRunner qr = new QueryRunner();
String sql = "delete from tb_lemon_emp where id = ?";
qr.update(conn,sql);
QueryRunner qr = new QueryRunner();
String sql = "select * from member where id = 10";
Map map = qr.query(connection, sql, new MapHandler());
System.out.println(map);
//{id=10, reg_name=mengmeng, pwd=7BB4880520192D282D68659D9FF084DC, mobile_phone=15815541764}
QueryRunner qr = new QueryRunner();
String sql = "select * from member where id < 10";
List
QueryRunner qr = new QueryRunner();
//查询聚合函数
String sql = "select count(*) from member where id < 10";
Long data = qr.query(connection, sql, new ScalarHandler());
//查询某个字段,为了通用可以用Object接收
String sql = "select reg_name from member where id = 3455667";
Object data = qr.query(connection, sql, new ScalarHandler
数据库断言要考虑成本,比如注册用例,注册完要查询数据库中的每个字段对比么?——考虑到成本等等,直接看数据库有生成这条注册数据即可,即count为1
设计成json格式,因为要转成对象
{ "select count(*) from member where mobile_phone='13329334510'; " : 1, "select count(*) from member where mobile_phone='{{mobile_phone3}}'; ":1 ...... }
数据库数据源字段是:
字符串类型———>实际JDBC读取的返回类型:字符串
小数类型————>实际JDBC读取的返回类型:BigDecimal
整数类型————>实际JDBC读取的返回类型:Long