MyBatis框架总结一---简单项目搭建

本文详细介绍如何使用MyBatis框架搭建项目,包括开发环境配置、数据库连接设置、JavaBean定义、映射接口及XML文件创建,以及测试项目运行。

项目搭建

一.开发环境搭建

1.导入jar包

i.log4j.jar
ii.mybatis-3.5.4jar
iii.mysql-connector-java-5.1.48-bin.jar
在这里插入图片描述

2.导入log4j的配置文件log4j.xml(不用修改直接导入就行)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
    <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
        </layout>
        <!--过滤器设置输出的级别-->   
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="levelMin" value="debug" />
            <param name="levelMax" value="warn" />
            <param name="AcceptOnMatch" value="true" />
        </filter>
    </appender>
    <appender name="myFile" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="D:/output.log" /><!-- 设置日志输出文件名 -->
        <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
        <param name="Append" value="true" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
        </layout>
    </appender>
    <appender name="activexAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="E:/activex.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
        <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
        </layout>
    </appender>
    <!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->
    <logger name="com.runway.bssp.activeXdemo" additivity="false">
        <priority value ="info"/>
        <appender-ref ref="activexAppender" />
    </logger>
    <!-- 根logger的设置-->
    <root>
        <priority value ="debug"/>
        <appender-ref ref="myConsole"/>
        <appender-ref ref="myFile"/>
    </root>
</log4j:configuration>

3.配置连接数据库参数文件jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis01
jdbc.username=root
jdbc.password=360421

4.引入全局配置文件mybatis-config.xml

注:configuration节点中的标签需要按照指定的顺序排列,否则会报错,将鼠标定位到该节点可查看标签排列顺序,删除线部分详解见后续总结。
properties:设置或引入资源文件
settings:
typeAliases:
typeHandlers:
objectFactory:
objectWrapperFactory:
reflectorFactory:
plugins:

environments:设置连接数据库的环境 default属性设置默认使用数据库环境
databaseIdProvider:
mappers:引入映射文件

<?xml version="1.0" encoding="UTF-8"?>    <!-- xml申明必須加在第一行 -->
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- DORCTYPE决定xml文件中可以加什么标签 -->
<!-- mybatis中的标签存在先后顺序,将鼠标定位到configuration查看 -->
<configuration>
	<!-- <properties>:设置或引入资源文件 resource与url的区别: resource类路径下进行访问,url网络或磁盘访问 -->
	<properties resource="jdbc.properties"></properties>

   	<!-- <environments>:设置连接数据库的环境 default: 设置默认使用的数据库环境 -->
	<environments default="mysql">
		<!-- <environment>:设置某个具体的数据库环境 id:数据库环境的唯一标识 -->
		<environment id="mysql">
			<!-- 以后不会在Mybatis中写 会直接交给Spring管理 -->
			<!-- 以后不会在Mybatis中写 会直接交给Spring管理 -->
			<!-- type可以对应着两种值:JDBC(原始事务管理)|MANAGED(被管理 Spring申明式管理) -->
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<!-- 配置数据库连接信息 -->
				<!-- type三种值:POOLED|UNPOOLED|JNDI POOLED:使用Mybatis自带的数据库连接池(会将当前链接进行缓存) 
					UNPOOLED:不使用Mybatis自带的数据库连接池 JNDI:调用上下文中的数据源,用的很少 -->
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
			</dataSource>
		</environment>
		<!-- 可以有多个environment标签 -->
		<environment id="oracle">

			<transactionManager type="JDBC" />

			<dataSource type="POOLED">
				<!-- 直接引用jdbc.driver设置好的值 -->
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/mybatis01" />
				<property name="username" value="root" />
				<property name="password" value="360421" />
			</dataSource>
		</environment>
	</environments>
	
	<!-- 引入映射文件 -->
	<mappers>
		<mapper resource="EmpMapper.xml" />
	</mappers>
</configuration>

二.项目搭建

1.创建JavaBean文件 Emp.java

package com.bean;

public class Emp {
	private Integer eid;
	private String ename;
	private Integer age;
	private String gender;
	public Integer getEid() {
		return eid;
	}
	public void setEid(Integer eid) {
		this.eid = eid;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public Emp() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Emp(Integer eid, String ename, Integer age, String gender) {
		super();
		this.eid = eid;
		this.ename = ename;
		this.age = age;
		this.gender = gender;
	}
	@Override
	public String toString() {
		return "Emp [eid=" + eid + ", ename=" + ename + ", age=" + age + ", gender=" + gender + "]";
	}
    
}

2.创建映射接口EmpMapper.java

package com.mapper;

import java.util.List;

import com.bean.Emp;

public interface EmpMapper {
	public List<Emp> getAllEmp();

}

3.创建sql映射文件EmpMapper.xml

注:创建好后需要在全局配置文件Mybatis-config.xml中引入该映射关键

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- DORCTYPE决定xml文件中可以加什么标签 注意与mybatis-config.xml文件中的区别 mapper是该文件的根标签 -->

<!-- 完成配置文件与接口的配置 -->
<mapper namespace="com.mapper.EmpMapper">
	<!-- public void getAllEmp(); -->
	<select id="getAllEmp" resultType="com.bean.Emp">
	   select eid,ename,age,gender from emp
	</select>
</mapper>

4.测试项目

package com.test;

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;
import org.junit.Test;

import com.bean.Emp;
import com.mapper.EmpMapper;


public class TestMabatis {
	
	//注意类不要取Test的类名,否则在用Test注解的时候会报错
	@Test                          
	public void test() throws IOException {
		InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
		
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
				.build(is);
		SqlSession sqlSession = sqlSessionFactory.openSession();
		EmpMapper mapper=sqlSession.getMapper(EmpMapper.class);
		
		List<Emp> emps=mapper.getAllEmp();
		System.out.println(emps);
	}

}

三.项目结构

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值