Mybatis入门配置

在学配置Mybatis前,先学习一种有着main函数功能的框架—单元测试框架JUnit。

1、什么是JUnit

JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。JUnit主要运用于程序员测试。

2、怎么使用JUnit

(1) 首先,需要导入两个jar包,使用Eclipse的伙伴这个时候可以松一口气了,因为在Eclipse里面我们可以在项目里面直接“Build Path”获取这两个jar包。(但是这样导入有个缺点,并没有加载到服务器里面,如果要想加载到服务器里面,还是老老实实把jar包导入lib里面)。见下图1、2、3
图 图1 在“Build Path”构建

图2 在Java Build Path里面Add Library

在这里插入图片描述图3 配置成功

(2) 来看看是要导入哪两个jar包,见下图4

图4 要导的两个Jar包

(3) 新建一个包,在包里新建一个JunitTest类用于测试。代码如下

package com.ydj.test;
import org.junit.Test;
/**
 * 测试---Junit
 * @author Carlos
 *
 */
public class JunitTest {
	/**
	 * 不写main方法实现打印
	 */
	@Test      //这个语句必须写,不然执行不了
	public void test(){
		System.out.println("---这是一个没有main方法的测试---");
	}
}

(4) 结果见下图5
图5 测试结果

以上就是我们基本需要掌握的JUnit的知识,有了上面的知识,就继续配置我们的Mybatis。

------------------------------------------------------------------------------华丽的分割线----------------------------------------------------------------------------------
前面说了那么多,都是开胃菜,真正的重头戏在下面!!

引言:Mybatis是一个持久化【数据操作】的框架,封装了jdbc的框架。mybatis只需要开发者关注sql语句,至于其他的数据库连接、执行sql语句、封装结果操作全部由mybaits完成。

1、前期工作

(1) 需要导入的Jar包,见下图6

图6 使用Mybatis需要的Jar包

除了上图标红的jar包,其他jar包是第三方jar包,根据自己需求自行导入。

(2) 创建项目(大家看我的项目结构,就会很清楚了),见下图7

图7 项目结构

2、我会根据上图的项目结构,按照Mybatis配置顺序一步一步和大家解释

(1) 创建一个项目MyBatisWeb01

     导入相应Jar包和JUnit框架

(2) 在数据库(mybatisweb01)里面建表(t_user),见下图8
在这里插入图片描述 图8 创建数据库表

(3) 在src下面创建三个包和一个mybatis的配置文件

1)com.ydj.model包

这个包唯一功能就是创建实体类—User,代码如下:

package com.ydj.model;

public class User {
	private int uId;		//用户ID
	private String uName;	//用户名
	private String uPwd;	//密码
	//无参构造方法
	public User() {}
	//有参构造
	public User(String uName, String uPwd){
		this.uName = uName;
		this.uPwd = uPwd;
	}
	//有参构造
	public User(int uId, String uName, String uPwd) {
		this.uId = uId;
		this.uName = uName;
		this.uPwd = uPwd;
	}
	//get、set方法
	public int getuId() {
		return uId;
	}
	public void setuId(int uId) {
		this.uId = uId;
	}

	public String getuName() {
		return uName;
	}
	public void setuName(String uName) {
		this.uName = uName;
	}

	public String getuPwd() {
		return uPwd;
	}
	public void setuPwd(String uPwd) {
		this.uPwd = uPwd;
	}

	//重写toString方法
	@Override
	public String toString() {
		return "User [uId=" + uId + ", uName=" + uName + ", uPwd=" + uPwd + "]";
	}
}

2)com.ydj.dao包

这个包有两个功能,一个是创建dao层接口,一个是创建对应的.xml配置文件

dao层接口代码:

package com.ydj.dao;

import java.sql.SQLException;
import java.util.ArrayList;
import com.ydj.model.User;

public interface UserDao {

	//1.插入数据
	public void save(User user) throws SQLException;

}

UserDao.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">

<!-- 包名 + .xml文件名 -->
<mapper namespace="com.ydj.dao.UserDao">
	<!-- 插入数据  save对应dao层接口里面的方法名 -->
	<insert id="save">
		INSERT INTO t_user(user_name,user_pwd) VALUES(#{uName},#{uPwd})
	</insert>

3)mybatis.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>

	<!-- 实体类所在包名  主要用于查询 -->
	<typeAliases>
		<package name="com.ydj.model"/>
	</typeAliases>
	
	<!-- environments下面可以有多个environment,每次只能执行一个。当然,要想执行多个数据库,需要在创建sqlSeesion时做出来 -->
	<!-- 执行哪一个,就要看environments的default 和 environment的id,当default与id的值相同时,就执行id对应的environment-->
	<!-- default和id里面的名字可以自己随便取,一般还是能够字如其意-->
	<environments default="mysql">
		<environment id="mysql">
 			<transactionManager type="JDBC"/>
 			<dataSource type="POOLED">
 				<!-- property里面的name值千万不要改动,vaule的值根据自己的驱动和数据库填入 -->
			 	<property name="driver" value="com.mysql.jdbc.Driver"/>
 				<property name="url" value="jdbc:mysql://localhost:3306/mybatisweb01"/>
 				<property name="username" value="root"/>
 				<property name="password" value="x5"/>
 			</dataSource>
 		</environment>
 	</environments>
 	<!-- 这是mybatis.xml配置文件和每个dao层的.xml配置文件联系的地方      就是可以映射 -->
 	<mappers>
 		<!-- 第一种写法:包名+配置文件名字  每个dao接口都需要写一个 -->
 		<!-- <mapper resource="com/ydj/dao/UserDao.xml"/> -->
 		<!-- 第二种写法:只要写一次,它里面的映射文件根据实际映射而映射,比较灵活 -->
 		<package name="com.ydj.dao"/>
 	</mappers>
</configuration>

4)com.ydj.test包

这个包只是测试mybatis是否配置成功,能否数据持久化

package com.ydj.test;

import java.io.IOException;
import java.io.InputStream;
import java.sql.SQLException;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import com.ydj.dao.UserDao;
import com.ydj.model.User;

public class InsertUserTest {

	@Test
	public void insertUser() throws IOException, SQLException{
		//1.加载配置文件并构建SqlSessionFactory对象
		InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
		//2.从SqlSessionFactory对象中获取SqlSession对象---true表示事务自动提交,false表示事务需要手动提交
		SqlSession session = factory.openSession(true);
		//3.根据dao接口对象通过动态代理创建dao接口的实现类对象
		UserDao dao = session.getMapper(UserDao.class);
		//4.执行插入数据操作
		dao.save(new User("ydj", "123456"));
		//5.关闭资源
		session.close();
	}	
}

3、结果

  检查数据库表是否插入成功

在这里插入图片描述
图9 数据库表成功插入

总结:配置Mybatis其实还是比较容易,只要一步一步配置,就算出了错误,再去百度,就能很快配置成功。第一步:需要知道导入哪些jar包;第二步:可以使用JUnit也可以直接使用main函数测试;第三步:创建项目;第四步:配置相应的配置文件。

后面我还会写一写Mybatis的增删查改文章,嘻嘻~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值