Mybatis文件配置过程全+代码

第一步:导入jar包

目的路径在这台电脑的d盘的jar文件下面(这是我自己的路径,记一下防止自己忘记)

第二步:

写文件:mybatis-config.xml

在里面的步骤是:

  1. 引入数据库连接文件

db.properties

  1. 配置日志文件(可以没有)
  2. 然后是配置连接数据库环境

<environments default="development">

   <environment id="development">

   <transactionManager type="JDBC"></transactionManager>

   <!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 -->

<dataSource type="POOLED">

<property name="driver" value="${driver}"/>

<property name="url" value="${url}"/>

<property name="username" value="${user}"/>

<property name="password" value="${password}"/>

</dataSource>

   </environment>

</environments>

·第一个<transactionManager type="JDBC"></transactionManager>不能少

·第二个配置数据库的driver,url,username,password不能少

第三步:

写db.properties文件,里面是连接数据库JDBC的相应内容,driver,url,username, password,四个变量的相关内容

第四步:

Mapper.xml这是Mybatis和普通web的一个区别所在,前面的配置文件也是。在Mapper里面,写的都是对数据库的操作,所以其实就是web的DAO文件。

第五步:

最后的过程是测试类。根据相应的功能最后在Mapper里面添加相应对数据库的操作。

接下里是介绍在测试类里面要怎么使用mybatis来对数据库进行操作

先吧连接数据库的文件xml String resource="mybatis-config.xml";写入

InputStream is = Resources.getResourceAsStream(resource);//这是文件输入流可以这么理解

然后创建工厂类来使用Mapper这个文件里面相应的id的对数据库的操作

代码:

mybatis-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>
	<!-- 引入 database.properties 文件-->
	<properties resource="db.properties"/>
	<settings>
		<setting name="logImpl" value="LOG4J"/>
	</settings>
	<environments default="development">
		<environment id="development">
			<!--配置事务管理,采用JDBC的事务管理  -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 -->
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${user}"/>
				<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
	
	<!-- 将mapper文件加入到配置文件中 -->
	<mappers>
		<mapper resource="com/dao/UserMapper.xml"/>
	</mappers>



</configuration>

db.properties文件

这是我自个mysql的账号密码

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&characterEncoding=utf-8
user=root
password=123456

Mapper.xml(相当于web的DAO,里面是对数据库的操作)

<?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.dao.UserMapper">
  	<select id="count" resultType="int">
  		select count(1) as count from smbms_user
  	</select>
 	<insert id="add" parameterType="com.pojo.User">
 		insert into smbms_user(id,userCode,userName,userPassword,gender,birthday,phone,address,userRole,createdBy,creationDate,modifyBy,modifyDate) values(#{id},#{userCode},#{userName},#{userPassword},#{gender},null,#{phone},#{address},#{userRole},#{createdBy},null,#{modifyBy},null)
 	</insert>
 	<delete id="deleteUser" parameterType="java.lang.Integer">
    	delete from smbms_user where id = #{id}
	</delete>
	<update id="updateUserName" parameterType="com.pojo.User">
    	update smbms_user set userName=#{userName} where id =#{id}
</update>
  </mapper>

最后是测试类

这里面是我对某一个数据库的一个表的增删改查操作,大同小异,不一样的还是你上面mapper.xml里面的文件。

package com.test;
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;
import org.apache.log4j.Logger;
import org.junit.Test;

import com.mysql.fabric.xmlrpc.base.Data;
import com.pojo.*;

public class UserMapperTest {

	private Logger logger=Logger.getLogger(UserMapperTest.class);
	@Test
	public void Test() {
		String resource="mybatis-config.xml";
		int count = 0;
		SqlSession sqlSession = null;
		try {
			InputStream is = Resources.getResourceAsStream(resource);
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
			sqlSession = factory.openSession();
			sqlSession.selectOne("com.dao.UserMapper.count");
			logger.debug("UserMapperTest count---> " + count);
		}catch(IOException e){
			e.printStackTrace();
		}finally {
			sqlSession.close();
		}
		
	}
	@Test
	public void add(){
		String resource="mybatis-config.xml";
		int count = 0;
		User user=new User();
		user.setId(16);
		user.setUserCode("1");
		user.setUserName("111");
		user.setUserPassword("111");
		user.setGender(1);
		user.setPhone("111");
		user.setAddress("111");
		user.setUserRole(1);
		user.setCreatedBy(1);
		user.setModifyBy(1);
		SqlSession sqlSession = null;
		try {
			InputStream is = Resources.getResourceAsStream(resource);
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
			sqlSession = factory.openSession();
			sqlSession.insert("com.dao.UserMapper.add",user);
			sqlSession.commit();
			logger.debug("UserMapperTest count---> " + count);
		}catch(IOException e){
			e.printStackTrace();
		}finally {
			sqlSession.close();
		}
	}
	@Test
	public void deleteTest(){
		String resource="mybatis-config.xml";
		int count = 0;
		SqlSession sqlSession = null;
		try {
			InputStream is = Resources.getResourceAsStream(resource);
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
			sqlSession = factory.openSession();
			sqlSession.delete("com.dao.UserMapper.deleteUser",16);
			sqlSession.commit();
			logger.debug("UserMapperTest count---> " + count);
		}catch(IOException e){
			e.printStackTrace();
		}finally {
			sqlSession.close();
		}
    }
	@Test
	 public void updateTest(){
		String resource="mybatis-config.xml";
		int count = 0;
		User user=new User();
		user.setId(16);
		user.setUserName("蔡拯雨");
		SqlSession sqlSession = null;
		try {
			InputStream is = Resources.getResourceAsStream(resource);
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
			sqlSession = factory.openSession();
			sqlSession.insert("com.dao.UserMapper.updateUserName",user);
			sqlSession.commit();
			logger.debug("UserMapperTest count---> " + count);
		}catch(IOException e){
			e.printStackTrace();
		}finally {
			sqlSession.close();
		}
	}
}

UserMapperTest.java

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值