第一步:创建Maven项目
添加Maven依赖:
junit
junit
4.12
test
org.projectlombok
lombok
1.18.10
ch.qos.logback
logback-classic
1.2.3
mysql
mysql-connector-java
8.0.13
com.alibaba
druid
1.1.12
org.mybatis
mybatis-typehandlers-jsr310
1.0.2
com.baomidou
mybatis-plus
3.3.0
com.baomidou
mybatis-plus-core
3.3.0
com.baomidou
mybatis-plus-extension
3.3.0
com.baomidou
mybatis-plus-annotation
3.3.0
org.springframework
spring-context
5.2.1.RELEASE
org.springframework
spring-aop
5.2.1.RELEASE
org.springframework
spring-jdbc
5.2.1.RELEASE
org.springframework
spring-test
5.2.1.RELEASE
test
第二步:在resources目录下编写配置文件
log4j2.xml
mysql.properties
driverClass=com.mysql.cj.jdbc.Driver
connectionURL=jdbc:mysql://127.0.0.1/db_test?useSSL=false&serverTimezone=GMT&nullCatalogMeansCurrent=true
userId=root
password=root
mybatis-cfg.xml
mybatisplus.xml
spring.xml
第三步:创建实体类
@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "db_test.tb_emp")
public class Emp extends Model implements Serializable { //继承Model类,是为了实现AR功能
private static final long serialVersionUID = -1696472017703928733L;
@TableId(value = "empno", type = IdType.INPUT)
private Integer empno;
@TableField(value = "ename")
private String ename;
@TableField(value = "job")
private String job;
@TableField(value = "mgr")
private Integer mgr;
@TableField(value = "hiredate")
private LocalDate hiredate;
@TableField(value = "sal")
private BigDecimal sal;
@TableField(value = "comm")
private BigDecimal comm;
@TableField(value = "deptno")
private Integer deptno;
}
第四步:创建Dao文件
public interface EmpMapper extends BaseMapper {
}
第五步:创建映射文件
empno, ename, job, mgr, hiredate, sal, comm, deptno
第六步:Mapper测试
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:mybatisplus.xml"})
public class EmpDaoMapperTest {
@Autowired
private EmpMapper empMapper;
@Test
public void insert() {
Emp emp = new Emp(1234, "zhangsan", "CLERK", 7788, LocalDate.of(1999, 9, 21), new BigDecimal(1200), new BigDecimal(300), 20);
int insertRes = empMapper.insert(emp);
System.out.println(insertRes);
System.out.println(emp.getEmpno());//直接获取插入数据返回的自增主键值
}
@Test
public void insert1() {
Emp emp = new Emp(1234, "zhangsan", "CLERK", 7788, LocalDate.of(1999, 9, 21), new BigDecimal(1200), new BigDecimal(300), 20);
empMapper.insert(emp);
emp = new Emp(1235, "zhangsan", "CLERK", 7788, LocalDate.of(1999, 9, 21), new BigDecimal(1200), new BigDecimal(300), 20);
empMapper.insert(emp);
emp = new Emp(1236, "zhangsan", "CLERK", 7788, LocalDate.of(1999, 9, 21), new BigDecimal(1200), new BigDecimal(300), 20);
empMapper.insert(emp);
emp = new Emp(1237, "zhangsan", "CLERK", 7788, LocalDate.of(1999, 9, 21), new BigDecimal(1200), new BigDecimal(300), 20);
empMapper.insert(emp);
emp = new Emp(1238, "zhangsan", "CLERK", 7788, LocalDate.of(1999, 9, 21), new BigDecimal(1200), new BigDecimal(300), 20);
empMapper.insert(emp);
emp = new Emp(1239, "zhangsan", "CLERK", 7788, LocalDate.of(1999, 9, 21), new BigDecimal(1200), new BigDecimal(300), 20);
empMapper.insert(emp);
}
@Test
public void update() {
Emp emp = new Emp(1235, "张三", "SALES", 7698, LocalDate.of(2018, 9, 21), new BigDecimal(1300), new BigDecimal(400), 20);
int updateRes = empMapper.updateById(emp);
System.out.println(updateRes);
}
@Test
public void delete1() {
int deleteRes = empMapper.deleteById(1235);
System.out.println(deleteRes);
}
@Test
public void delete2() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("ename", "张三");
int deleteRes = empMapper.delete(queryWrapper);
System.out.println(deleteRes);
}
@Test
public void delete3() {
int deleteRes = empMapper.deleteBatchIds(Arrays.asList(1236, 1237));
System.out.println(deleteRes);
}
@Test
public void delete4() {
Map map = new HashMap();
map.put("ename", "zhangsan");
int deleteRes = empMapper.deleteByMap(map);
System.out.println(deleteRes);
}
@Test
public void select1() {
Emp emp = empMapper.selectById(7788);
System.out.println(emp);
}
@Test
public void select2() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("ename", "scott");
queryWrapper.eq("deptno", "20");
Emp emp = empMapper.selectOne(queryWrapper);
System.out.println(emp);
}
@Test
public void select3() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.like("ename", "%AR%");
List empList = empMapper.selectList(queryWrapper);
for (Emp emp : empList) {
System.out.println(emp);
}
}
@Test
public void select4() {
List empList = empMapper.selectBatchIds(Arrays.asList(7369, 7782, 7844));
for (Emp emp : empList) {
System.out.println(emp);
}
}
@Test
public void select5() {
Map map = new HashMap();
map.put("ename", "zhangsan");
map.put("job", "clerk");
List empList = empMapper.selectByMap(map);
for (Emp emp : empList) {
System.out.println(emp);
}
}
@Test
public void select6() {
IPage empPage = empMapper.selectPage(new Page(2, 2), null);
for (Emp emp : empPage.getRecords()) {
System.out.println(emp);
}
}
@Test
public void select7() {
Wrapper queryWrapper = new QueryWrapper()
.between("sal", 1500, 3500)
.like("ename", "%A%");
IPage empPage = empMapper.selectPage(new Page(1, 3), queryWrapper);
for (Emp emp : empPage.getRecords()) {
System.out.println(emp);
}
}
}
第七步:AR测试
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:mybatisplus.xml"})
public class EmpDaoARTest {
@Test
public void insert(){
Emp emp = new Emp(1230,"zhangsan","CLERK",7788, LocalDate.of(1999,9,21),new BigDecimal(1200),new BigDecimal(300),20);
boolean insertRes = emp.insert( );
System.out.println(insertRes);
System.out.println(emp.getEmpno());//直接获取插入数据返回的自增主键值
}
@Test
public void update(){
Emp emp = new Emp(1230,"张三","SALES",7521, LocalDate.of(2018,9,21),new BigDecimal(1400),new BigDecimal(400),10);
boolean updateRes = emp.updateById();
System.out.println(updateRes);
}
@Test
public void delete1(){
Emp emp = new Emp();
boolean deleteRes1 = emp.deleteById(1230);
System.out.println(deleteRes1);
emp.setEmpno(1234);
boolean deleteRes2 = emp.deleteById();
System.out.println(deleteRes2);
}
@Test
public void delete2(){
Emp emp = new Emp();
QueryWrapper queryWrapper =new QueryWrapper();
queryWrapper.ge("empno",7902);
boolean res = emp.delete(queryWrapper);
System.out.println(res);
}
@Test
public void select1(){
Emp emp = new Emp();
Emp emp1 = emp.selectById(7788);
System.out.println(emp1);
emp.setEmpno(7788);
Emp emp2 = emp.selectById();
System.out.println(emp2);
}
@Test
public void select2(){
List empList = new Emp().selectAll();
for (Emp item : empList) {
System.out.println(item);
}
}
@Test
public void select3(){
QueryWrapper queryWrapper = new QueryWrapper().like("ename","%SCOTT%");
Emp emp = new Emp();
List empList = emp.selectList(queryWrapper);
for (Emp item : empList) {
System.out.println(item);
}
Integer count = emp.selectCount(queryWrapper);//参数值为null时表示查看全表
System.out.println(count);
}
@Test
public void select4(){
Wrapper queryWrapper = new QueryWrapper().lt("sal",1500);
IPage empPage = new Emp().selectPage(new Page(2, 2), queryWrapper);
for (Emp emp :empPage.getRecords()){
System.out.println(emp);
}
System.out.println(empPage.getTotal());
System.out.println(empPage.getCurrent());
System.out.println(empPage.getPages());
System.out.println(empPage.getSize());
System.out.println(empPage.offset());
}
}