美文网首页
2018-10-10Mybatis配置使用

2018-10-10Mybatis配置使用

作者: 辰321 | 来源:发表于2018-10-13 22:07 被阅读0次

在pom.xml加入依赖
<dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>5.1.22</version> 

        <scope>runtime</scope>

      </dependency>

<dependency>

        <groupId>org.mybatis</groupId>

        <artifactId>mybatis</artifactId>

        <version>3.4.4</version>

      </dependency>

工作流程:读取配置文件,创建工厂对象(SqlSessionFactory),打开Session,根据SQL的id查找对应的MapperStatement对象,持久化操作,将查询对象映射成对应的对象,关闭资源

一配置文件

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<environments default="development">

          <environment id="development">

            <transactionManager type="JDBC" />

            <!-- 配置数据库连接信息 -->

            <dataSource type="POOLED">

                <property name="driver" value="com.mysql.jdbc.Driver" />

                <property name="url" value="jdbc:mysql://localhost:3306/witkey_db" />

                <property name="username" value="root" />

                <property name="password" value="root" />

            </dataSource>

        </environment>

    </environments>

</configuration>

二测试连接

@Test

public void connectTest() {

String resource = "mybatis-config.xml";

InputStream is = null;

SqlSessionFactory sqlSessionFactory = null;

SqlSession sqlSession = null;

try {

is = Resources.getResourceAsStream(resource);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);

sqlSession = sqlSessionFactory.openSession();

System.out.println(sqlSession.getConnection());

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

创建Mabatis工具类

public class MybatisUtil {

private static String CONFIG_FILE_LOCAL = "mybatis-config.xml";

private static final ThreadLocal<SqlSession> THREAD_LOCAL = new ThreadLocal<SqlSession>();

private static InputStream inputStream;

private static SqlSessionFactory sqlSessionFactory;

static{

try {

inputStream = Resources.getResourceAsStream(CONFIG_FILE_LOCAL);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static SqlSession getSqlSession(){

SqlSession sqlSession = THREAD_LOCAL.get();

if(sqlSession==null){

sqlSession = (sqlSessionFactory!=null)?sqlSessionFactory.openSession():null;

THREAD_LOCAL.set(sqlSession);

}

return sqlSession;

}

public static void closeSqlSession(){

SqlSession sqlSession = THREAD_LOCAL.get();

THREAD_LOCAL.set(null);

if(sqlSession !=  null){

sqlSession.close();

}

}

}

相关文章

网友评论

      本文标题:2018-10-10Mybatis配置使用

      本文链接:https://www.haomeiwen.com/subject/tiimaftx.html