项目结构
jar包
创建User
package com.po;
public class User {
private Integer userId;
private String userName;
private String passWord;
public Integer getUserId() {
return userId;
}
//省略get、set方法
}
创建UserMapper.xml
<mapper namespace="com.mapper.UserMapper">
<insert id="addUser" parameterType="user" useGeneratedKeys="true" keyProperty="userId">
insert into t_user (userName,passWord)
values(#{userName},#{passWord})
</insert>
<select id="getUserById" resultType="user" parameterType="Integer">
select * from t_user where userId=#{userId}
</select>
</mapper>
创建log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p [%t] %m%n" />
</layout>
</appender>
<logger name="com.mapper.UserMapper">
<level value="DEBUG" />
</logger>
<root>
<level value="ERROR" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
创建mybatis-config.xml
<configuration>
<!-- MyBatis 所用日志的具体实现 -->
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<!-- 设置别名 -->
<typeAliases>
<typeAlias alias="user" type="com.po.User"/>
</typeAliases>
<!-- 默认的环境id为mysql -->
<environments default="mysql">
<environment id="mysql">
<!-- 指定事务管理类型 -->
<transactionManager type="jdbc"/>
<!-- 配置数据库连接 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 配置Mapper的位置 -->
<mappers>
<mapper resource="com/mapper/UserMapper.xml"/>
</mappers>
</configuration>
创建SessionFactory
package com.factory;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SessionFactory {
private static SqlSessionFactory sessionFactory=null;
//初始化创建SqlSessionFactory对象
static {
try {
//读取配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//根据配置文件构建SqlSessionFactory
sessionFactory=new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
//获取SqlSession对象
public static SqlSession getSqlSession() {
return sessionFactory.openSession();
}
// 获取SqlSessionFactory
public static SqlSessionFactory getSqlSessionFactory() {
return sessionFactory;
}
}
创建UserDao
package com.dao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import com.factory.SessionFactory;
import com.po.User;
public class UserDao {
private SqlSession session=SessionFactory.getSqlSession();
@Test
public void getUserById() {
User user=session.selectOne("com.mapper.UserMapper.getUserById", 1);
session.close();
System.out.println(user);
}
}
执行getUserById()方法