MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)OK 开启Mybatis学习之路
一、创建项目 配置mybatis
1. 导入mybatis jar包
com.mysql.jdbc.Driver.jar ---数据库连接
log4j-1.2.17.jar ---日志记录
mybatis-3.3.1.jar ---mybatis核心
2. 添加配置文件
A . db.properties 数据库连接信息
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/mybatis_db
username=root
password=199432
B. mybatis-config.xml mybatis 配置文件
<!-- 引入数据库连接配置 -->
<properties resource="db.properties" />
<!-- 指定别名所在的包 -->
<typeAliases>
<package name="com.cwk.model" />
</typeAliases>
<environments default="development">
<!-- 可以配置多个环境 使用default指定使用哪个环境 -->
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- mapper映射文件所在的包 -->
<mappers>
<package name="com.cwk.dao"/>
</mappers>
二、创建实体类 Mapper接口和
3. 创建实体类 ,创建EmployeeMapper 接口 和 同名的映射文件
<mapper namespace="com.cwk.dao.EmployeeMapper" >
<!--实现添加数据-->
<insert id="add" parameterType="Employee">
INSERT INTO employee
(username,salary,deptID)
VALUES
(#{username},#{salary},#{deptID})
</insert>
</mapper>
4. 创建工具类 获取SqlSession
public class SqlSessionFactoryUtil {
private static SqlSessionFactory sqlSessionFactory = null;
private static SqlSessionFactory getSessionFactory(){
//初始化 sqlSessionFactory
if(sqlSessionFactory==null){
Reader reader;
try {
reader = Resources.getResourceAsReader("mybatis-config.xml"); //读取配置文件
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}return sqlSessionFactory;
}public static SqlSession openSession(){
return getSessionFactory().openSession(); //返回iSqlSession
}
5. 创建测试类(使用junit测试)
private SqlSession sqlSession = null;
private Logger logger = null;
@Before
public void setUp() throws Exception {//初始数据库连接
sqlSession = SqlSessionFactoryUtil.openSession();
//数据日志
logger = Logger.getLogger(TestCRUD.class);
}@After
public void tearDown() throws Exception {
sqlSession.close();
}@Test
public void testAdd() {logger.info("添加员工!");
Employee emp = new Employee(3,"王五",3500f);
EmployeeMapper empMapper = sqlSession.getMapper(EmployeeMapper.class);
int res = empMapper.add(emp);
System.out.println(emp);
sqlSession.commit();
if(res>0){logger.info("添加成功!");
}else{logger.info("添加失败!");
}}
转载请注明:左手代码右手诗 » Mybatis学习之路---HelloWorld