MyBatis优势:
JPA优势:
Mybatis劣势:
在mybatis-puls中使用的Application.yml一些常识:spring: datasource: driver-class-name:com:mysql.cj.jdbc.Driver(mysql的驱动不一致使用的就不样,就会报错) url:jdbc:mysql://localhost:3306/数据库名?useSSL=false(不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果不设置显式选项,则必须建立默认的SSL连接。需要通过设置useSSL=false来显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。)&serverTimezOne=GMT%2B8(表示北京时间的东八区,且%2B—>表示+) username: password:
Lambda表达式是一个匿名函数,换句话说,Lambda表达式表达了一个被实现的接口,这个接口中只有一个抽象方法,在实现这一个接口后创建对象并将这个对象作为参数传给了目标方法。那么,这里list.forEach方法的参数一定是一个接口。 在测试中需要增加两个注解: 再来了解下日志输出:Springboot的日志等级查看以下网址:
参考内容:https://www.jianshu.com/p/1fa12b92d5c4
@TableName(“表名”)---->指定哪个表@TableId Private Long userId---->该注解表明哪个字段是主键(不一定是id)@TableField---->指定数据库的哪个字段,在idea中的字段不想和数据库的字段名一致,可以使用该注解(我是不介意这样,复杂化了,别人看起来也麻烦) 排除非字段的三种方式:1.transient:在实体类中添加transient,例如private transient String remake2.static: 实现序列化,static 必须手动生成get/set方法, 例如private static String remake3[email protected]:每个对象必须有一个此属性@TableField(exist=false),表示该字段不存在。
1、T SelectById(Serializable id):serializable可以是任何数据类型。进行查询。 2、 例题作用:查询多个指定的id数据。
3、 例题:作用:实现相当于查询where语句and。 4、Wrapper的查询 例题1: 例题2: 例题3: 例题4: 例题5: 例题6: 例题7: 例题8: 例题9:Select不列出全部字段: condition作用:作用:使得代码更加简便。
实体作用为条件构造方法参数 在实体内容中:
实现: allEq: