②main方式简单使用,确保引入myjdbc源码jar 包,或者引用了pom.xml,或者直接 copy源代码到src下。引入druid,HikariDataSource,或者你习惯使用的任何一种数据源jar包,main方法查询test数据库中的数据集合如下
public class App {
public static void main( String[] args ) {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false");
dataSource.setUsername("root");
dataSource.setPassword("123456");
try{
DBHelper dbHelper = new DBHelper(dataSource);
//start 对象操作 操作原理说明,根据实体构造最终完整sql并执行操作,改操方法api最多有3个参数,第一个entity(Object类型) 第二个wheresql(String主要是where条件),第三个sql语句对应的参数(对象,list,map,数组)
User user = new User();
user.setName("张三");
user.setSex(23);
ConnectionManager.setTransaction(true);
//插入一个行数据到数据库,然后赋值给user对象的id属性
Long id = dbHelper.insertEntityRtnPK(user);
user.setId(id);
//更新一个对象,注意只能根据主键更新一个对象,只更新有值的字段,没有值的字段不会被更新
//dbhelper能够自动检查对象User的字段中是否包含主键,如果没有主键,会抛出异常。
System.out.println(dbHelper.updateEntity(user));
//同理删除对象,也只能根据主键删除,如果主键没有,或者为空,则报错
System.out.println(dbHelper.deleteEntity(user));
//纯sql操作,改操方法api最多有3个参数,第一个entity(Object类型) 第二个wheresql(String主要是where条件),第三个sql语句对应的参数(对象,list,map,数组)
//目前只支持?和#匹配符,如果有朋友建议或需要的可以加上:或者其他通配符
User u2 = dbHelper.selectOne("select * from user where sex = #{sex} and name=#{name}",User.class, user);
User u3 = dbHelper.selectOne("select * from user where sex = ? and name=?",User.class, 23,"张三");
//===>上一步等价于:
User u4 = dbHelper.selectOne("select * from user where sex = ? and name=?",User.class,new Object[]{23,"张三"});
//===>上一步等价于:
List<Object> paramList = new ArrayList<Object>();
paramList.add(23);
paramList.add("张三");
User u5 = dbHelper.selectOne("select * from user where sex = ? and name=?",User.class,paramList);
//返回集合查询,这个传参方式跟使用selectOne一模一样,不过多举例。
List<User> u6List = dbHelper.selectList("select * from user where sex = ? name=?",User.class,paramList);
ConnectionManager.commitAll();
}catch (Exception e) {
ConnectionManager.rollbackAll();
}finally {
ConnectionManager.closeConnectionAll();
}
}
}