一:配置文件名:mybatis-config.xml
- settings : 一些全局配置
- typeAlias : 别名
- environments : 数据库的连接配置
- mapper : 映射文件的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource=""></properties>
<typeAliases>
<package name=""/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${database.driver}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.username}"/>
<property name="password" value="${database.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/ssm/chapter14/mapper/RoleMapper.xml"></mapper>
</mappers>
</configuration>
【 <dataSource type="POOLED">】
- UNPOOLED:不使用连接池的数据源
- POOLED:使用连接池的数据源
- JNDI:使用JNDI实现的数据源
二:Maven依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
三:mapper.xml文件配置
【对应表的配置】
【在idea中创建resources
文件夹,文件夹中创建xml文件 SqlMapConfig.xml
(文件名可以为其他),文件内容为:】
【resultType】:返回文件类型
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 命名空间为绑定接口的全类名 -->
<mapper namespace="com.justin.first.UserDao">
<resultMap id="userListResultMap" type="user">
<!--id是主键 -->
<id column="id" property="id"/>
<result column="username" property="username"/>
<result column="sex" property="sex"/>
</resultMap>
<!-- id 为接口定义的方法名 resultType 为实体类的全类名 #{userId} 中的参数和方法名一致 -->
<select id="getOne" resultType="com.justin.pojo.User">
select * from users where id = #{userId}
</select>
<select id="findUserListMap" resultMap="userListResultMap">
SELECT id,username,sex FROM users;
</select>
</mapper>
四:mapper.java 接口文件
public interface UserDao {
User getOne(int userId);
List<User> findUserListMap();
}
五:测试
public class TestFirst {
public static void main(String[] args) {
try {
testUserSelect();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void testUserSelect() throws IOException {
SqlSessionFactory factory = new SqlSessionFactoryBuilder()
.build(Resources.getResourceAsStream("mybatis-config.xml"));
SqlSession session = factory.openSession();
//mybatis的映射文件
UserDao dao = session.getMapper(UserDao.class);
User one = dao.getOne(1);
System.out.println(one);
}
}