1、首先在Maven工程中的 pom.xml 文件中添加数据库驱动和MyBatis框架依赖的jar包
<!--mysql驱动驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--导入MyBatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
2、在 application.properties 配置文件中配置数据库连接池参数
注意:如果采用 ** mapper.xml文件配置方式 进行数据库和DAO接口映射,需要配置mybatis.mapper-locations**,值为 .xml文件的全路径名
spring.datasource.url=jdbc:mysql://localhost:3306/mydb2?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
mybatis.config-location=classpath:mybatis-config.xml
## 如果采用全注解方式,不必配置 mybatis.mapper-locations
mybatis.mapper-locations=classpath:包路径/QuestionDAO.xml
3、配置 mybatis.config.xml
这里的配置是直接从网上抄过来的
如果MyBatis框架单独使用,需要在这里配置数据库连接池等参数,但是在和Spring整合之后这部分工作由Spring来完成,因此不必配置。
<settings>
<!-- Globally enables or disables any caches configured in any mapper under this configuration -->
<setting name="cacheEnabled" value="true"/>
<!-- Sets the number of seconds the driver will wait for a response from the database -->
<setting name="defaultStatementTimeout" value="3000"/>
<!-- Enables automatic mapping from classic database column names A_COLUMN to camel case classic Java property names aColumn 驼峰转换 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- Allows JDBC support for generated keys. A compatible driver is required.
This setting forces generated keys to be used if set to true,
as some drivers deny compatibility but still work -->
<setting name="useGeneratedKeys" value="true"/>
</settings>
注意:mapUnderscoreToCamelCase 值为true表示设置了驼峰转换,可自动映射下列形式的列名和属性名。
列名:user_id
属性:userID
4、配置 mapper.xml
如果采用全注解的方式,不必配置该文件;
如果采用mapper.xml文件进行映射配置,则需注意以下几点:
(否则会出现:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): )
1. mapper.xml 文件所在的package名称 和 interface对应的package名称一致;
2. 检查 mapper.xml 文件的namespace是否和xml文件的DAO接口全路径名称一致;
3. 检查函数名称和返回类型是否对应;
4. sql 语句要正确,注意空格,逗号等细节;
5. 检查 application.properties 中是否配置了mybatis.mapper-locations;
5、创建 bean类 和 DAO interface
如果采用全注解方式 可以跳过第4步,本文建议使用全注解方式
接口:使用**@Mapper** 注解dao接口,并搭配 @Insert、@Select、@Update、@Delete等方法注解
@Mapper
public interface QuestionDAO {
String TABLE_NAME = " question ";
@Insert({"insert into",TABLE_NAME,"(title,content,created_date,user_id,comment_count)" +
"values (#{title},#{content},#{createdDate},#{userID},#{commentCount})"})
int addQuestion(Question question);
//xml配置
List<Question> selectLatestQuestions(@Param("userID") int userID,
@Param("offset") int offset,
@Param("limit") int limit);
}
bean类:
public class Question {
private int id;
private String title;
private String content;
private Date createdDate;
private int userID;
private int commentCount;
/* set 和 get 方法*/
}
6、测试
编写测试用例,测试能否成功操作数据库。