最基本的MyBatis建立与测试

创建一个基本的MyBatis

1.先找关于MyBatis的jar包

mybatis的jar包下载地址

下载mysql-connector

  • 为什么下载mysql-connector
    因为MyBatis是基于底层数据库的,所以需要下载mysql-connector

2.按照数据库中表建立相对应的User对象

数据库信息
实体类User

3.设置mapper

mapper.xml的设置其实从本质上来说就是对sql语句的封装,直接上截图
在这里插入图片描述
对于namespace可设置为你设置mapper的包路径
id是唯一的

4.设置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>
<!-- resource指定文件,然后文件中有key==>value,使用${}获取文件中的v -->
<properties resource="db.properties"></properties>
		<!-- default指定工程在哪个环境下运行   如果default="test",那么该工程就会在test环境下运行-->
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
			<!-- 配置数据库 -->
				<property name="driver" value="${driver}" />
				<property name="url" value="${url}"/>



				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
		
		<environment id="test">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
			<!-- 配置数据库 -->
				<property name="driver" value="com.mysql.cj.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/school?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=UTC"/>



				<property name="username" value="root" />
				<property name="password" value="123" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
	<!-- 加载映射文件 -->
		<mapper resource="edu/ahau/mapper/userMapper.xml" />
	</mappers>
</configuration>

在xml文件里面我设置了两个environment ,这是关于文件中的,因为开发环境可能不止一个,还有测试环境等等,会有很多设置环境方法,但是个人还是建议使用default直接进行设定。(还是觉得别的方法太麻烦了)


在设置环境的时候尤其要注意对url的设置,因为这个东西整了我好久,很多人会将JDBC里面的url直接copy过来,导致程序运行的时候会产生异常,
1.实体需要用";"来结尾
2.时间的冲突,在日志里面会在" "会有乱码产生,需要你去设定一个地区时间
具体的解决方法就是直接将url设定为:jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
还有一种解决方法:设置动态文本
创建一个新的file,里面包括的内容如下:
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username=root
password=123
(具体的信息在我设置config代码的注释里面有相应的解释)

5.设置一个测试类

import java.io.IOException;
import java.io.Reader;

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 MyBatis_Test {

	public static void main(String[] args) throws IOException {
		
		Reader reader = Resources.getResourceAsReader("config.xml");
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
		//SqlSessionFactory - connection 相当于对JDBC里面的getconnection
		
		SqlSession session = sqlSessionFactory.openSession();
		
		
		String statement = "edu.ahau.entiy.UserMapper.queryUserByID";
		User user = session.selectOne(statement,1);
		System.out.println(user);
		session.close();
	}
}

关于statement里面就涉及到我们前面设值的namespace和id,其唯一性就体现出来了,在我们执行sql语句的时候会实现不同的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值