使用mybatis-generator生成底层
环境
? 使用springboot2,jdk1.8,idea
在pom引入相关依赖
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
src/main/resources/generatorConfig/generatorConfig.xml
true
true
org.mybatis.generator
mybatis-generator-core
1.3.2
mysql
mysql-connector-java
5.1.44
注意:
? mybatis-generator版本如果和mysql差距過大,可能在生成代码的过程中引起报错
在Resource中配置配置文件
<?xml version="1.0" encoding="UTF-8"?>
注意:
? 1.存放生成代码的指定包或者文件夹可以不用提前建好,只要路径没错插件会顺便一起建好
? 2.根指定路径的不同,部分生成代码可能会需要更改。比如映射配置文件,
?
? namespace的生成是根据上面的配置而生成的,如果你在生成代码后还想要移动mapper的話,要记得修改对应路径
生成代码
代开Maven菜单,点击Plugins里的mybatis-generator,即可自动生成
目录结构
生成的代码
java代码
package com.party.community.po;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class User {
private String u_idcard;
private String u_unsername;
private String u_tel;
private String u_pwd;
private String u_avator;
private String u_sex;
private Date u_birthday;
private String u_history;
private String u_remark;
public String getU_idcard() {
return u_idcard;
}
public void setU_idcard(String u_idcard) {
this.u_idcard = u_idcard == null ? null : u_idcard.trim();
}
public String getU_unsername() {
return u_unsername;
}
public void setU_unsername(String u_unsername) {
this.u_unsername = u_unsername == null ? null : u_unsername.trim();
}
public String getU_tel() {
return u_tel;
}
public void setU_tel(String u_tel) {
this.u_tel = u_tel == null ? null : u_tel.trim();
}
public String getU_pwd() {
return u_pwd;
}
public void setU_pwd(String u_pwd) {
this.u_pwd = u_pwd == null ? null : u_pwd.trim();
}
public String getU_avator() {
return u_avator;
}
public void setU_avator(String u_avator) {
this.u_avator = u_avator == null ? null : u_avator.trim();
}
public String getU_sex() {
return u_sex;
}
public void setU_sex(String u_sex) {
this.u_sex = u_sex == null ? null : u_sex.trim();
}
public Date getU_birthday() {
return u_birthday;
}
public void setU_birthday(Date u_birthday) {
this.u_birthday = u_birthday;
}
public String getU_history() {
return u_history;
}
public void setU_history(String u_history) {
this.u_history = u_history == null ? null : u_history.trim();
}
public String getU_remark() {
return u_remark;
}
public void setU_remark(String u_remark) {
this.u_remark = u_remark == null ? null : u_remark.trim();
}
}
生成的po,已写好get和set方法
package com.party.community.mapper;
import com.party.community.po.User;
import java.util.List;
public interface UserMapper {
int deleteByPrimaryKey(String u_idcard);
int insert(User record);
User selectByPrimaryKey(String u_idcard);
List selectAll();
int updateByPrimaryKey(User record);
User selectByPhone(String phone);
}
xml映射文件
<?xml version="1.0" encoding="UTF-8" ?>
delete from user
where u_idcard = #{u_idcard,jdbcType=VARCHAR}
SELECT LAST_INSERT_ID()
insert into user (u_unsername, u_tel, u_pwd,
u_avator, u_sex, u_birthday,
u_history, u_remark)
values (#{u_unsername,jdbcType=VARCHAR}, #{u_tel,jdbcType=VARCHAR}, #{u_pwd,jdbcType=VARCHAR},
#{u_avator,jdbcType=VARCHAR}, #{u_sex,jdbcType=VARCHAR}, #{u_birthday,jdbcType=TIMESTAMP},
#{u_history,jdbcType=VARCHAR}, #{u_remark,jdbcType=VARCHAR})
update user
set u_unsername = #{u_unsername,jdbcType=VARCHAR},
u_tel = #{u_tel,jdbcType=VARCHAR},
u_pwd = #{u_pwd,jdbcType=VARCHAR},
u_avator = #{u_avator,jdbcType=VARCHAR},
u_sex = #{u_sex,jdbcType=VARCHAR},
u_birthday = #{u_birthday,jdbcType=TIMESTAMP},
u_history = #{u_history,jdbcType=VARCHAR},
u_remark = #{u_remark,jdbcType=VARCHAR}
where u_idcard = #{u_idcard,jdbcType=VARCHAR}
生成的mapper和映射文件,已经生成了基本的增删改查和根据主键查找的方法