在【resrouces】资源文件下新建逆向工程配置文件【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> <context targetRuntime="MyBatis3"> <!--避免生成重复代码的插件--> <plugin type="com.wmyskxz.demo.messagesystem.util.OverIsMergeablePlugin"/> <!-- 是否去除自动生成的代码中的注释 true:是 false:否--> <commentGenerator> <property value="true"/> <property value="true"/> </commentGenerator> <!--数据库链接地址账号密码--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/message_system?serverTimezone=UTC" userId="root" password="123456"> </jdbcConnection> <!-- 默认 false,把 JDBC DECIMAL 和 NUMERIC 类型解析为 Integer 为 true 时解析为 java.math.BigDecimal --> <javaTypeResolver> <property value="false"/> </javaTypeResolver> <!--生成pojo类存放位置--> <javaModelGenerator targetPackage="com.wmyskxz.demo.messagesystem.domain" targetProject="src/main/java"> <!-- enableSubPackages:是否让 schema 作为包的后缀--> <property value="true"/> <!-- trimStrings:从数据库返回的值被清理前后的空格 --> <property value="true"/> <!-- 是否对model添加 构造函数 --> <property value="true"/> </javaModelGenerator> <!--生成xml映射文件存放位置--> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> <property value="true"/> </sqlMapGenerator> <!--生成mapper类存放位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.wmyskxz.demo.messagesystem.dao" targetProject="src/main/java"> <property value="true"/> </javaClientGenerator> <!--生成对应表及类名 tableName:要生成的表名 domainObjectName:生成后的实例名 enableCountByExample:Count语句中加入where条件查询,默认为true开启 enableUpdateByExample:Update语句中加入where条件查询,默认为true开启 enableDeleteByExample:Delete语句中加入where条件查询,默认为true开启 enableSelectByExample:Select多条语句中加入where条件查询,默认为true开启 selectByExampleQueryId:Select单个对象语句中加入where条件查询,默认为true开启 --> <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="true" selectByExampleQueryId="false" enableDeleteByPrimaryKey="true" enableUpdateByPrimaryKey="true"> <property value="true"/> <property value="false"/> <generatedKey column="id" sqlStatement="JDBC"/> </table> <table tableName="notify" domainObjectName="Notify" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="true" selectByExampleQueryId="false" enableDeleteByPrimaryKey="true" enableUpdateByPrimaryKey="true"> <property value="true"/> <property value="false"/> <generatedKey column="id" sqlStatement="JDBC"/> </table> <table tableName="user_follow" domainObjectName="UserFollow" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="true" selectByExampleQueryId="false" enableDeleteByPrimaryKey="true" enableUpdateByPrimaryKey="true"> <property value="true"/> <property value="false"/> <generatedKey column="id" sqlStatement="JDBC"/> </table> <table tableName="message" domainObjectName="Message" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="true" selectByExampleQueryId="false" enableDeleteByPrimaryKey="true" enableUpdateByPrimaryKey="true"> <property value="true"/> <property value="false"/> <generatedKey column="id" sqlStatement="JDBC"/> </table> </context> </generatorConfiguration>运行我们的【MybatisGenerator】类中的 main 方法就能看到自动生成的实体、Xml文件以及 Mapper 类
第三步:Service 层不给接口了,直接给实现吧,方法都很简单,而且没有做任何的安全限制,只是为了实现简单的消息系统,看效果
UserServiceImpl:
@Service public class UserServiceImpl implements UserService { @Resource UserMapper userMapper; @Override public void addUserByUsername(String username) { userMapper.insert(new User(null, username));// 主键自增长. } @Override public User findUserById(Long id) { return userMapper.selectByPrimaryKey(id); } }