上例介绍了使用注解而不需要mybatis配置文件的方式来提供SQL,不过在一个或几个配置文件中集中管理所有SQL语句也是另外一种便利的方式,下例介绍怎样使用配置文件来提供SQL语句,同样还是使用Mapper的方式进行数据库操作。
(1) 承载数据的User bean:com/mybatis/demo3/User.java
package com.mybatis.demo3;
public class User {
/** 用户ID */
private int id;
/** 用户名称 */
private String name;
/** 用户密码 */
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
(2) Mapper接口类:com/mybatis/demo3/UserMapper.java
(只需提供接口方法,应用中mybatis会使用动态反射的方式提供查询的实际逻辑;该Mapper中没有通过注解提供所使用的SQL语句,SQL语句挪到配置文件中进行配置)
package com.mybatis.demo3;
import org.apache.ibatis.annotations.Param;
public interface UserMapper {
// 这里不使用注解,使用的SQL语句来自于配置文件UserMappers.xml
public User findByName(@Param("name") String name);
}
(3) 数据源properties文件:com/mybatis/demo2/mysql.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/bookstore