mybatis配置及初步使用

首先要引入mybatis架包
大家可以在mavenRepository中搜索
https://mvnrepository.com

<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
		<version>3.5.3</version>
		</dependency>
  </dependencies>

然后配置链接数据库的数据需要放在jdbc.properties文件中

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF8&userSSL=true&serverTimezone=GMT%2B8
uName=root
password=111111

下面是mybatis的配置文件,大家可以在官网找到

<?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>
	<!-- 引入jdbc的配置文件 -->
	<properties resource="jdbc.properties"></properties>
	<!-- 配置环境信息 -->
	<environments default="development">
		<environment id="development">
			<!-- 事务管理器 -->
			<transactionManager type="JDBC" />
			<!-- 数据源 -->
			<dataSource type="POOLED">
				<property name="driver" value="${driverClassName}" />
				<property name="url" value="${url}" />
				<property name="username" value="${uName}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<!-- 映射器 -->
	<mappers>
		<mapper resource="jee/pk1/UserMapper.xml" />
	</mappers>
</configuration>

写一个sql语句的接口

package jee.pk1;

public interface UserMapper {
	public User get(int id);
}

再写一个查询语句的配置文件。注意接口和配置文件的名字要一致
在这里插入图片描述

<?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="jee.pk1.UserMapper">

  <select id="get" resultType="jee.pk1.User" parameterType="int">
    select * from users where UserId = #{id}
  </select>
</mapper>

主方法:

package jee.pk1;

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 App {
	public static void main(String[] args) throws IOException {
		String config = "mybatis-config.xml";// 代表classpath下的配置文件

		InputStream is = Resources.getResourceAsStream(config);// 代表classpath下的配置文件的输入流

		// SqlSessionFactory的构建器
		SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

		// 构建一个SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = builder.build(is);

		// 打开一个SqlSession
		SqlSession session = null;

		
		session = sqlSessionFactory.openSession();
		 
		 // userMapper是实现了UserMapper接口的一个实例
		UserMapper userMapper =session.getMapper(UserMapper.class);
		 
		 User user = userMapper.get(1);
		 
		 System.out.println(user); 
			 //关闭session 
		 session.close(); 
		 
		
		//session一定会被关闭
//		try(SqlSession session = sqlSessionFactory.openSession()) {
//
//			// userMapper是实现了UserMapper接口的一个实例
//			UserMapper userMapper = session.getMapper(UserMapper.class);
//
//			User user = userMapper.get(1);
//			System.out.println(user);
//		} 

	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章