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);
//		} 

	}
}

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