Mybatis-Plus是一款MyBatis的增强 crud 工具包,简化 增 删 改 查 操作。启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入非拦截实现、性能更优。 2.0 优化 1.x 改良 API 支持 ActiveRecord 语法,支持 SQL 执行语法。 1、可以 AR 语法 // 保存一条记录
Test t1 = new Test();
t1.setType("test10");
boolean rlt = t1.insert();
print(" ar save=" + rlt + ", id=" + t1.getId());
// 根据ID更新
t1.setType("t1023");
rlt = t1.updateById();
print(" ar updateById:" + rlt);
// 更新 SQL
Test t11 = new Test();
t11.setType("123");
rlt = t11.update("id=?", t1.getId());
print("update sql=" + rlt);
// 查询 SQL
Test t10 = t1.selectOne("id=?", t1.getId());
print("selectOne=" + t10.getType());
// 插入OR更新
t1.setType("t1021");
rlt = t1.insertOrUpdate();
print(" ar saveOrUpdate:" + rlt);
// 根据ID查询
Test t2 = t1.selectById();
print(" t2 = " + t2.toString());
t2.setId(IdWorker.getId());
t2.insert();
// 查询所有
List<Test> tl = t2.selectAll();
for (Test t : tl) {
print("selectAll=" + t.toString());
}
// 查询总记录数
print(" count=" + t2.selectCount());
// 翻页查询
Page<Test> page = new Page<Test>(0, 10);
page = t2.selectPage(page);
print(page.toString());
// 根据ID删除
rlt = t2.deleteById();
print("deleteById=" + rlt + ", id=" + t2.getId());
// 根据ID查询
Test t20 = t2.selectById();
print("t2 删除后是否存在?" + (null != t20));
// 删除 SQL
rlt = t2.delete("type=?", "t1021");
System.err.println("delete sql=" + rlt); 2、SQL 执行语法 SQL sql = new SQL() {{
SELECT("a.test_id as id, a.name, a.age");
FROM("user a");
WHERE("a.test_type=?");
}};
// SQL 插入
System.err.println(" insertSql 执行 SQL \n");
rlt = userMapper.insertSql(new SQL(){{
INSERT_INTO("user");
VALUES("name, age, test_type", "?, ?, ?");
}}, "testInsertSql", 5, 1);
System.err.println("插入!条数:" + rlt);
// SQL 查询
System.err.println(" selectListSql 执行 SQL \n");
List<User> ul3 = userMapper.selectListSql(sql, 1);
for (User u : ul3) {
print(u);
}
// SQL 删除
System.err.println(" deleteSql 执行 SQL \n");
rlt = userMapper.deleteSql(new SQL(){{
DELETE_FROM("user");
WHERE("name=?");
}}, "testInsertSql");
System.err.println("删除!条数:" + rlt);
// SQL 更新
System.err.println(" updateSql 执行 SQL \n");
rlt = userMapper.updateSql(new SQL(){{
UPDATE("user");
SET("age=6");
WHERE("test_type=?");
}}, 1);
System.err.println("成功更新!条数:" + rlt);
// SQL 翻页
System.err.println(" selectPageSql 执行 SQL \n");
Page<User> page3 = new Page<User>(0, 10);
ul3 = userMapper.selectPageSql(page3, sql, 1);
for (User u : ul3) {
print(u);
}
System.err.println("翻页结果:" + page3.toString()); 3、更多传统玩法 Mbatis-Plus-2.x 测试阶段欢迎提出改进意见!! 应用实例 | Demo 感谢 @清风丶 @々果¤珍々 @D.Yang 杨阳 @卧々虎 支持感谢 @清风丶 @々果¤珍々 @D.Yang 杨阳 @卧々虎 支持!! |