使用XML配置MyBatis

》第一步:在配置之前需要先导两个包

>mybatis-3.2.2.jar     MyBatis 框架
>mysql-connector-java-3.1.10-bin.jar  JDBC驱动程序

》第二步:配置环境

在mybatis-config.xml 文件下配置  以下是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></configuration>

下面在<configuration></configuration>中进行配置

方法一:直接进行配置

	<environments default="hello_mysql">
		<environment id="hello_mysql">
			<transactionManager type="jdbc"/>  <!-- //管理器 -->
			<dataSource type="pooled">
				<property name="driver" value="org.gjt.mm.mysql.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/****"/>
				<property name="username" value="root"/>
				<property name="password" value="ok"/>
			</dataSource>     <!-- 连接池 -->
		</environment>
	</environments>

推荐方法二:调用db.properties文件

 1.db.properties的配置信息如下 导入相关jar包

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/****
    user=root
    password=root

2. mybatis-config.xml的配置信息如下

<!-- 数据库连接配置 -->
<properties resource="db.properties"/>
<environments default="mysql_development">
    <environment id="mysql_development">
        <transactionManager type="JDBC"/>
        <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>

》第三步:创建对应的数据库表以及pojo类

》第四步:配置PersonMapper.xml 映射文件

1.在mybatis-config.xml中配置mapper

        <mappers>
		<mapper resource="com/kgc/mybatis/pojo/PersonMapper.xml"/>
	</mappers>

2.在Mapper.xml 配置相应的增、删、改、查以及其他一些查询

	<insert id="addPerson" parameterType="com.kgc.mybatis.pojo.Person" useGeneratedKeys="true" keyProperty="pid">
		insert into t_person values(null,#{pname},#{age},#{address})
	</insert>
	<select id="getPersonList" resultType="com.kgc.mybatis.pojo.Person">
		select * from t_person
	</select>
	<update id="updatePesron" parameterType="com.kgc.mybatis.pojo.Person">
		update t_person set pname = #{pname} , age = #{age} , address = #{address} where pid = #{pid}
	</update>
	<delete id="deletePerson" parameterType="int">
		delete from t_person where pid = #{pid}
	</delete>
	<select id="getPersonByPid" parameterType="int" resultType="com.kgc.mybatis.pojo.Person">
		select * from t_person where pid = #{pid}
	</select>

到此MyBatis基本配置完成,一下我们测试演示调用方法

基本步骤:

//        1.加载sqlMapConfig文件

//        2.解析sqlMapConfig.xml,创建SqlSessionFactory对象,封装在这个对象中

//        3.通过factory创建session对象

//        4.执行插入操作,返回影响行数

//        5.提交或回滚事物

//        6.关闭session

	SqlSession session = null;
	@Before
	public void setup() {
//		1.加载sqlMapConfig文件
		InputStream is;
		try {
			is = Resources.getResourceAsStream("sqlMapConfig.xml");
//		2.解析sqlMapConfig.xml,创建SqlSessionFactory对象,封装在这个对象中
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//		3.通过factory创建session对象
			session = factory.openSession();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	@Test
	public void addPersonTest(){
		Person person = new Person("lisi", 15, "shenzheng");
		// 4.执行插入操作,返回影响行数
		int count = session.insert("com.kgc.mybatis.pojo.addPerson1", person);
		System.out.println(count > 0 ? "insert success!" : "insert fail!");
	}
	
	@Test
	public void getPersonListTest(){

		List<Person> PersonList = session.selectList("com.kgc.mybatis.pojo.getPersonList3");
		for (Person person : PersonList) {
			System.out.println(person);
		}
	}
	
	@Test
	public void updatePersonTest(){
		Person person = new Person(12,"xiaomin1",21,"dalian");
		int count = session.update("com.kgc.mybatis.pojo.updatePerson", person);
		System.out.println(count > 0 ? "update success!" : "update fail!");
	}
	
	
	@Test
	public void deletePersonTest(){
//		Person person = new Person(2,null,0,null);
		int count = session.update("com.kgc.mybatis.pojo.deletePerson", 5);
		System.out.println(count > 0 ? "delete success!" : "delete fail!");
	}
	
	@Test
	public void getPersonByPidTest(){
//		Person person = new Person(2,null,0,null);
		Person person = session.selectOne("com.kgc.mybatis.pojo.getPersonByPid", 6);
		System.out.println(person);
	}
	
	@After
	public void teardown(){
//		5.提交或回滚事物
		session.commit();
//		6.关闭session
		if(session!=null){
			session.close();
		}
	}
	

猜你喜欢

转载自blog.csdn.net/qq_41902618/article/details/81392070