[关闭]
@File 2019-08-09T07:30:30.000000Z 字数 5250 阅读 213

lmysql使用说明

test java


jar包下载


java文件下载

github下载
百度云下载


简述:

基于 Jdk1.8+Mysql8+ljson,主要组成部分Mysql配置类、LMysql父类、Select查操作类、Insert增操作类、Update改操作类、Delete删操作类、Querysql执行类。

  • 待实现功能:
    • case判断
    • 连表操作
    • 分组后再判断

重复提示:当前版本由项目需要修改后,需要依赖 ljson 运行

ljson的操作说明:

ljson下载(当前版本lmysql以包含)
ljson使用说明

依赖的jar包(最新版请自行下载):

mysql引擎
druid线程池

配置文件配置

  1. # 驱动,这里是1.8+的驱动
  2. driverClassName = com.mysql.cj.jdbc.Driver
  3. # 数据库访问连接
  4. url = jdbc:mysql://localhost:3306/project?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
  5. # 用户名
  6. username = root
  7. # 用户密码
  8. password = root

Mysql配置类

  1. // 包导好了
  2. // 数据库启动了
  3. // 配置和路径都设置好了
  4. // 假设一切都准备好了
  5. // 实例化一个配置类,没报错就可以了
  6. Mysql mysql = new Mysql();
  7. // 用完记得关掉连接
  8. mysql.close();

事务功能

1. 启动一个事务
  1. // 实例化配置类时传入 true 启动事务
  2. Mysql mysql = new Mysql(true);
  3. // 或者通过通过 begin() 启动
  4. Mysql mysql2 = new Mysql();
  5. mysql2.begin();
2. 创建一个保存点
  1. // 实例化一个事务配置类
  2. Mysql mysql = new Mysql(true);
  3. // 通过 save() 设置保存点
  4. mysql.save("a"); // 第一个字符必须是字母
3. 提交事务
  1. // 实例化一个事务配置类
  2. Mysql mysql = new Mysql(true);
  3. // 这里执行了一堆sql
  4. ...
  5. // 通过 commit() 提交
  6. mysql.commit();
  7. // 也可以通过 close() 关闭连接并提交
  8. mysql.close()
4. 事务回滚
  1. // 实例化一个事务配置类
  2. Mysql mysql = new Mysql(true);
  3. // 执行一堆sql
  4. ...sql1
  5. // 创建了一个保存点
  6. mysql.save("lidaye");
  7. // 再执行一堆sql
  8. ...sql2
  9. // 通过 back() 回滚到保存点 lidaye
  10. // back() 不传参则全部回滚
  11. mysql.back("lidaye");
  12. // 提交事务并关闭连接
  13. mysql.close();
  14. // 只执行了 sql1 的sql命令

sql运行错误获取

  1. // 创建一个配置类
  2. Mysql mysql = new Mysql();
  3. // 模拟两个不存在的表的查询
  4. mysql.select().query("errortable1");
  5. mysql.select().query("errortable2");
  6. // 通过 getErrorList() 获得错误信息
  7. System.out.println(mysql.getErrorList());
  8. // [Table 'project.errortable1' doesn't exist, Table 'project.errortable2' doesn't exist]

LMysql父类

  1. // from
  2. .from("表名")
  3. .from(ILJson对象)
  4. // where
  5. .where("字段名","条件值")
  6. .where("字段名","条件值",换位符模式(默认true))
  7. .where("字段名","条件值","逻辑运算符(默认=)")
  8. .where("字段名","条件值","逻辑运算符(默认=)","拼接条件符(默认AND)",换位符模式(默认true))
  9. // 大于判断
  10. .whereGt("字段名","条件值")
  11. .whereGt("字段名","条件值",换位符模式(默认true))
  12. .whereGt("字段名","条件值","拼接条件符(默认AND)")
  13. .whereGt("字段名","条件值","拼接条件符(默认AND)",换位符模式(默认true))
  14. // 小于判断
  15. .whereLt("字段名","条件值")
  16. .whereLt("字段名","条件值",换位符模式(默认true))
  17. .whereLt("字段名","条件值","拼接条件符(默认AND)")
  18. .whereLt("字段名","条件值","拼接条件符(默认AND)",换位符模式(默认true))
  19. // IN包含判断
  20. .whereIn("字段名",多个可能包含的值...)
  21. // IN包含判断(换位符模式)
  22. .whereInPre("字段名",多个可能包含的值...)
  23. // IN包含判断(OR 拼接条件)
  24. .whereOrIn("字段名",多个可能包含的值...)
  25. // IN包含判断(OR 拼接条件 + 换位符模式)
  26. .whereOrInPre("字段名",多个可能包含的值...)
  27. // 模糊查询条件
  28. .whereLike("字段名","条件值")
  29. .whereLike("字段名","条件值",换位符模式(默认true))
  30. .whereLike("字段名","条件值","拼接条件符(默认AND)")
  31. .whereLike("字段名","条件值","拼接条件符(默认AND)",换位符模式(默认true))
  32. // 范围条件
  33. .between("字段名","开始值","结束值")
  34. .between("字段名","开始值","结束值",换位符模式(默认true))
  35. .between("字段名","开始值","结束值","拼接条件符(默认AND)")
  36. .between("字段名","开始值","结束值","拼接条件符(默认AND)",换位符模式(默认true))
  37. // 群组
  38. .group("字段名")
  39. // 查询限制
  40. .limit("显示条目数")
  41. .limit("起始条目数","显示条目数")
  42. // 升序
  43. .asc(一个或多个排序字段名...)
  44. // 降序
  45. .desc(一个或多个排序字段名...)
  46. // 执行操作对象(该方法必须作为最后一个方法执行)
  47. .query()
  48. .query(显示条目数)
  49. .query(起始条目数,显示条目数)
  50. .query("表名")
  51. .query("表名",显示条目数)
  52. .query("表名",起始条目数,显示条目数)
  53. // 返回sql语句字符串(该方法必须作为最后一个方法执行)
  54. .getSql()

Select查操作类

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 普通的全表全字段查询
  4. List<Map> res = mysql.select().query("user");

ILJson映射类混合查询

  1. // 主要方法 query(ILJson对象)
  2. // 创建配置类对象实例
  3. Mysql mysql = new Mysql();
  4. // 传入继承了ILJson接口的User类的实例
  5. List<User> res = mysql.select().query(new Usre());
  6. // 通过 Class 对象实现(两个效果一样)
  7. List<User> res = mysql.select().query(Usre.class);

Update改操作类

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 修改一个指定id的指定字段的值
  4. int res = mysql
  5. .update("user")
  6. .set("user_name","李大爷")
  7. .where("id",1)
  8. .query();

ILJson映射类配置修改

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 创建一个继承了ILJson接口的对象
  4. ILJson user = new User();
  5. user.setName("李大爷");
  6. user.setAge(25);
  7. user.setSex("nan")
  8. // 修改一个指定id的数据
  9. int res = mysql
  10. .update(user) // 传入对象,可在参数2指定修改的属性
  11. .where("id",1)
  12. .query();

Insert增操作类

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 随便新增两条条数据
  4. int res = mysql
  5. // insert()可以传 Map 和 ILJson 对象,传对象默认新增一条
  6. // 后期可能考虑传list<Map>插入多条
  7. .insert("user_name","user_pwd","age")
  8. .value("李大爷","123456",25)
  9. .vlaue("李学霸","654321",18)
  10. .query("user");

ILJson映射类配置新增

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 创建一个继承了ILJson接口的对象
  4. ILJson user = new User();
  5. user.setName("李大爷");
  6. user.setAge(25);
  7. user.setSex("nan")
  8. // 新增一条数据
  9. int res = mysql
  10. .insert(user) // 传入对象
  11. .query();

Delete删操作类

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 随便删除一条记录
  4. int res = mysql
  5. .delete("user")
  6. .where("id",1)
  7. .query();

ILJson映射类配置删除

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 创建一个继承了ILJson接口的对象
  4. ILJson user = new User();
  5. user.setName("李大爷");
  6. user.setAge(25);
  7. user.setSex("nan")
  8. // 删除一条数据
  9. int res = mysql
  10. // 传入一个对象,并指定以name值为条件,一般用id
  11. .delete(user,"name")
  12. .query(1);

Query执行sql类

  1. // 创建配置类对象实例
  2. Mysql mysql = new Mysql();
  3. // 执行有结果集的sql
  4. mysql.query("SELECT * FROM `user`");
  5. // 带占位符
  6. mysql.query("SELECT ? FROM `user` WHERE `user_name`=?","*","李大爷");
  7. // 执行无结果集的sql
  8. mysql.execute("UPDATE `user` SET `user_name`='李大爷'");
  9. // 带占位符同上
  10. ...
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注