使用MyBatis框架步骤

1、新建web product 名称为mybatisDemo


2、在lib目录下放入3个jar包
log4j-1.2.16.jar
mybatis-3.2.2.jar
mysql-connector-java-5.1.0-bin.jar


3、创建resources的源文件夹
database.properties
log4j.properties
mybatis-config.xml


4、编写MyBatis核心配置文件(mybatis-config.xml)
<?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="database.properties" />
<settings>
<setting name="logImpl" value="LOG4J"></setting>
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${user}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/ma/dao/UserMapper.xml"></mapper>
</mappers>
</configuration>


5、DAO层-接口(表名Mapper.java)
package com.ma.dao;


public interface UserMapper {
int selectUserCount();
}


6、DAO层-SQL映射文件(表名Mapper.xml)
<?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.ma.dao.UserMapper">
<select id="selectUserCount" resultType="int">
select count(id) from smbms_user
</select>
</mapper>


7、创建util包编写MyBatisUtil.java
package com.ma.util;


import java.io.*;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;
public class MyBatisUtil {
private static SqlSessionFactory factory;

static{//在静态代码块下,factory只会被创建一次
System.out.println("static factory===============");
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
factory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}

public static SqlSession createSqlSession(){
return factory.openSession(false);//true 为自动提交事务
}

public static void closeSqlSession(SqlSession sqlSession){
if(null != sqlSession) 
sqlSession.close();
}
}


8、创建测试类
package com.ma.dao;


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;
import org.apache.log4j.Logger;
import org.junit.Test;


import com.ma.util.MyBatisUtil;


public class TestUserMapper {
private Logger logger = Logger.getLogger(TestUserMapper.class);


@Test
public void testSelectUserCount2() {
int count = 0;
SqlSession sqlSession = null;
try {
sqlSession=MyBatisUtil.createSqlSession();
count=sqlSession.getMapper(UserMapper.class).selectUserCount();
logger.debug("testSelectUserCount:"+count);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
MyBatisUtil.closeSqlSession(sqlSession);
}
}
}

猜你喜欢

转载自blog.csdn.net/qq_36153544/article/details/80279646