1、pom.xml文件中配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>mybatis_day01</artifactId>
<groupId>cn.clz</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>day07</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<configurationFile>
src/main/resources/generatorConfig.xml
</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
2、generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<classPathEntry location="D:\Java\jar包\mysql-connector-java-8.0.30.jar"/>
<context id="mysqlTables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/ccc?characterEncoding=utf8&useUnicode=true&serverTimezone=GMT%2B8&useSSL=false"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.ccc.coder.model" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.ccc.coder.mapper" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.ccc.coder.mapper" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="teacher"></table>
</context>
</generatorConfiguration>
3、运行插件
双击运行
4、实现增删改查
4.1增加
public class TestInsert {
public static void main(String[] args) {
SqlSession session = SessionUtil.getSession();
TeacherMapper mapper = session.getMapper(TeacherMapper.class);
// 2、调用逆向工程 API 向其中插入数据
// (default,"张丽","江苏省南京市",32,"销售员",7000)
// (default,"张伟","江苏省苏州市",26,"职员",5000)
// (default,"王晓","上海市",30,"区域总监",20000)
// (default,"赵敏","上海市",25,"财务",10000)
mapper.insert(new Teacher(0,"张丽","江苏省南京市",32,"销售员",7000));
mapper.insert(new Teacher(0,"张伟","江苏省苏州市",26,"职员",5000));
mapper.insert(new Teacher(0,"王晓","上海市",30,"区域总监",20000));
mapper.insert(new Teacher(0,"赵敏","上海市",25,"财务",10000));
session.commit();
session.close();
}
}
4.2查询
public class TestSelect {
public static void main(String[] args) {
SqlSession session = SessionUtil.getSession();
TeacherMapper mapper = session.getMapper(TeacherMapper.class);
//3、调用逆向工程 API 及分页插件,使用查询江苏省员工信息,每3条数据一页
TeacherExample teacherExample =new TeacherExample();
TeacherExample.Criteria criteria = teacherExample.createCriteria().andAddrLike("%江苏省%");
PageHelper.startPage(1,3);
List<Teacher> teachers = mapper.selectByExample(teacherExample);
PageInfo<Teacher> pageInfo=new PageInfo<>(teachers);
List<Teacher> list = pageInfo.getList();
list.forEach(System.out::println);
session.close();
}
}
4.3修改
public class TestUpdate {
public static void main(String[] args) {
SqlSession session = SessionUtil.getSession();
TeacherMapper mapper = session.getMapper(TeacherMapper.class);
//4、调用逆向工程 AP| 将所有 27 岁以上的销售员,工资加 1000 元
TeacherExample teacherExample =new TeacherExample();
teacherExample.createCriteria().andAgeGreaterThan(27).andJobEqualTo("销售员");
List<Teacher> teachers = mapper.selectByExample(teacherExample);
for (Teacher teacher : teachers) {
teacher.setSal(teacher.getSal()+1000);
TeacherExample teacherExample1 =new TeacherExample();
teacherExample1.createCriteria().andIdEqualTo(teacher.getId());
mapper.updateByExampleSelective(teacher,teacherExample1);
}
session.commit();
session.close();
}
}
4.4删除
public class TestDelete {
public static void main(String[] args) {
SqlSession session = SessionUtil.getSession();
TeacherMapper mapper = session.getMapper(TeacherMapper.class);
//5、调用逆向工程 API将陕西省员工删除
TeacherExample teacherExample =new TeacherExample();
teacherExample.createCriteria().andAddrLike("%陕西省%");
mapper.deleteByExample(teacherExample);
session.commit();
session.close();
}
}