MyBatis环境配置

时光毁灭记忆、已成空白 提交于 2020-03-12 03:54:14

1、导入MyBatis的jar包

在这里插入图片描述

3、在src下面创建全局配置文件

  1. 没有名称和地址要求
  2. 在全局配置文件中导入dtd或schema
    1. 如果导入没有提示
    2. Window–> preference --> XML --> XMl catalog --> add 按钮
  3. 全局配置文件
<?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>
	<!-- 设置日志 -->
	<settings>
		<setting name="logImpl" value="LOG4J"/>
	</settings>
	<!-- 别名 -->
	<!--  <typeAliases>
		<typeAlias type="com.yzq.pojo.User" alias="User"/>
	</typeAliases>-->
	<typeAliases>
		<package name="com.yzq.pojo"/>
	</typeAliases>
	
	<!-- 基础配置 -->
	<!-- default引用environment中的id,代表当前使用的环境 -->
	<environments default="default">
		<!-- 声明可以使用的环境 -->
		<environment id="default">
			<!-- 事务管理器的配置:
				使用原生JDBC事务
				MANAGED:无
			 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 数据源的配置:
				UNPOOLED:不适用数据库连接池
				POOLED:JDBC连接对象的数据源连接池的实现
				JNDI:java命名目录接口技术
			 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost/mybatis?serverTimezone=UTC&amp;useSSL=false"/>
				<property name="username" value="root"/>
				<property name="password" value="YZQ.yzq.123"/>
			</dataSource>
		</environment>
	</environments>
	<!-- 告诉MyBatis去哪里找映射文件 -->
	<mappers>
		<mapper resource="com/yzq/mapper/UserMapper.xml"/>
	</mappers>
</configuration>

3、新建以mapper结尾的包,在包下新建:实体类名+Mapper.xml

  1. 文件作用:编写需要执行的SQL命令。
  2. 把 xml 文件理解成实现类.
  3. 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.yzq.mapper.UserMapper">
	<!-- 下面是增删改查的配置  -->
	<select id="selectUser" resultType="User">
		select * from user
	</select>
	<insert id="insertUser" parameterType="User" >
		insert into user values(default,#{name},#{age})
	</insert>
	<update id="updateUser" parameterType="User">
		update user set
		 name = #{name} 
		 where id=#{id}
	</update>
	<delete id="deleteUser" parameterType="int">
		delete from user where id = #{0}
	</delete>
	
</mapper>

4、测试代码

package com.yzq.pojo;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

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 Test {
	public static void main(String[] args) throws IOException {
		InputStream is = Resources.getResourceAsStream("mybatis.xml");
		// 使用工厂模式
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		// 生产session
		SqlSession session = factory.openSession();
		// 查询
		List<User> list = session.selectList("com.yzq.mapper.UserMapper.selectUser");
		for (User user : list) {
			System.out.println(user);
		}
		session.close();
	}
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!