一、加载数据库时可以编写外部文件通过导入的方式获取
(1)外部资源
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?userSSL=true&useUncode=true&characterEncoding=UTF-8
username=root
password=123456
//读取外部资源
二、可以准备多套环境,使用那套时仅需将默认环境环境设置对应环境的ID即可
三、设置类的别名
(1)方法一(修改类名):
(2)方法二(指定包名):
1、Mybatis会在对应的包名下搜索需要的JavaBean,例如扫描实体类的包,它的默认名就为该类名的首字母缩写。
2、(加注解):
在想修改的类里加注解引号中的就为该类的别名
@Alias("hello")
两种方法的对比:
(1)在实体类比较少的时候使用方法一,反之使用第二种。
(2)对一种的别名可以随意设置,第二种不可以,如果非要该则需要在对应类里面加注解
四、Mapper文件的注册绑定
方法一:
方法二:
方法三:
方法二和方法三的注意事项:
(1)接口和Mapper配置文件必须同名
(2)接口和Mapper配置文件必须在一个包下
五、当属性名和字段名不一致的如何解决
(1)方法一:别名
(2)方法二:resultMap
五、分页的实现
(1)Limit实现分页
(2)RowBounds分页
(3)PageHelper插件
六、注解实现CRUD
(1)当有多个参数时所有的参数前面加上 @Param,且@Param中的名称与select中的参数名保持一致。
@Select("select * from user where id = ${id}")
User getUserById( @Param("id") int id);
设置事务自动提交:
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);
}
七、Lombok插件使用
(1)在idea中安装Lombok插件
(2)在项目中导入lombok的jar包
(3)在实体类上加注解
@Date (无参构造、get、set、tostring、hashcode、equals方法)
@AllArgsConstructor (有参构造)@NoArgsConstructor(无参构造)
优缺点:
(1)简化代码,让开发更加的便捷,大大的节省了开发时间,提高了效率
(2)代码的可读性变差。
八、编写工具类利用UUID.randomUUID().toString()方法生成主键Id
UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法;
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的 形式。
工具类;
package com.lisi.utils;
import org.junit.Test;
import java.util.UUID;
@SuppressWarnings("all")
public class IDutils {
public static String getId(){
return UUID.randomUUID().toString().replaceAll("-"," ");
}
@Test
public void test(){
System.out.println(getId());
System.out.println(getId());
System.out.println(getId());
}
}
测试结果;
九、数据库中字段与Java中属性之间的转换(即数据库中**_*** 与Java的驼峰命名法转换)
Mybatis配置文件:
如果在数据库中,有一个字段为a_id,那么在javaBean中的属性也必须这样写,写成a_id,这种代码编写方式肯定不符合代码规范。
若开启则: 数据库返回的"order_address"命名字段映射为class的"orderAddress"字段。