mybatis的逆向工程给我们使用mybatis带来了很大的便利,现在我们就来配置一下一个简单的mybatis-generator的demo
1.第一步创建springboot项目,这里就不再一步步操作
2.通过maven导入jar包(此处用的是sqlite数据库)
org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-web
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
org.springframework.boot
spring-boot-starter-test
test
org.xerial
sqlite-jdbc
3.20.0
org.springframework.boot
spring-boot-devtools
true
io.springfox
springfox-swagger2
2.7.0
io.springfox
springfox-swagger-ui
2.7.0
org.mybatis.generator
mybatis-generator-core
1.3.2
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
true
true
${project.basedir}/src/main/resources/mybatis-generator/mybatisgenetorConfig.xml
3.配置application.yml文件
server:
port: 8010
spring:
application:
name: fmea
#配置数据源
datasource:
url: jdbc:sqlite:C:\\sqlite\\fmea.db
driver-class-name: org.sqlite.JDBC
username:
password:
#配置mybatis
mybatis:
mapper-locations: classpath:mappers/*.xml
type-aliases-package: com.rb.fmea.entities
4.配置genertor的xml文件
mybatisgenetorConfig.xml
执行命令
mvn mybatis-generator:generate
执行那个后会生成dao,entites,mapper.xml文件
实体
package com.rb.fmea.entities;
import java.io.Serializable;
public class User implements Serializable {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database column user.id
*
* @mbggenerated
*/
private Integer id;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database column user.name
*
* @mbggenerated
*/
private String name;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database column user.password
*
* @mbggenerated
*/
private String password;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database column user.des
*
* @mbggenerated
*/
private String des;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table user
*
* @mbggenerated
*/
private static final long serialVersionUID = 1L;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column user.id
*
* @return the value of user.id
*
* @mbggenerated
*/
public Integer getId() {
return id;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column user.id
*
* @param id the value for user.id
*
* @mbggenerated
*/
public void setId(Integer id) {
this.id = id;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column user.name
*
* @return the value of user.name
*
* @mbggenerated
*/
public String getName() {
return name;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column user.name
*
* @param name the value for user.name
*
* @mbggenerated
*/
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column user.password
*
* @return the value of user.password
*
* @mbggenerated
*/
public String getPassword() {
return password;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column user.password
*
* @param password the value for user.password
*
* @mbggenerated
*/
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column user.des
*
* @return the value of user.des
*
* @mbggenerated
*/
public String getDes() {
return des;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column user.des
*
* @param des the value for user.des
*
* @mbggenerated
*/
public void setDes(String des) {
this.des = des == null ? null : des.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbggenerated
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", name=").append(name);
sb.append(", password=").append(password);
sb.append(", des=").append(des);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}
dao
package com.rb.fmea.dao;
import com.rb.fmea.entities.User;
import java.util.List;
public interface UserMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbggenerated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbggenerated
*/
int insert(User record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbggenerated
*/
User selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbggenerated
*/
List selectAll();
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbggenerated
*/
int updateByPrimaryKey(User record);
}
mapper文件
delete from user
where id = #{id,jdbcType=INTEGER}
SELECT LAST_INSERT_ID()
insert into user (`name`, `password`, des
)
values (#{name,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{des,jdbcType=VARCHAR}
)
update user
set `name` = #{name,jdbcType=VARCHAR},
`password` = #{password,jdbcType=VARCHAR},
des = #{des,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
执行mvn mybatis-generator:generate命令时报错(mysql一样也会报错)
Exception getting JDBC Driver: org.sqlite.JDBC
错误原因有两个
1.在mybatisgenetorConfig.xml文件中没有加载数据库驱动添加下面配置即可,加载你本地的驱动即可
2.在pox.xml文件中添加驱动(网上都用的这种,但是我使用了,不起效果)
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
<!– SQLite3 驱动 –>
org.xerial
sqlite-jdbc
3.20.0
runtime