Mybatis学习之入门篇

这是一个简答的例子,用来作为Mybatis的入门。

首先看下项目的目录:


开发步骤:

1、把需要的Mybatis的Jar包,数据库操作的Jar包导入项目中(大家可以看到,本实例中是使用的Mysal数据库);

2、配置数据源 也就是项目中的 configuration.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><!-- 用于为类创建别名  此处我未使用别名-->
	
	</typeAliases>
	<!--数据源配置 这块用 MYSQL数据库 -->
	<environments default="development">
		<environment id="development">
			<transactionManager type="jdbc" />
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/test" />
				<property name="username" value="root" />
				<property name="password" value="root" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!--userMapper.xml装载进来 同等于把“dao”的实现装载进来 -->
		<mapper resource="com/drek/dao/xml/personMapper.xml" />
	</mappers>
</configuration>   
3、创建实体类 Person.java;

package com.drek.entity;

/**
 * 用户实体类
 * @author burnell
 *
 */
public class Person {
	/** 用户ID */
	private int id;
	/** 姓名 */
	private String name;
	/** 年龄 */
	private int age;
	/** 所有订单集合 */
	
	public Person() {
	}
	
	public Person(int id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

}
4、创建Mapper接口:PersonMapper

package com.drek.dao;

import java.util.List;
import com.drek.entity.Person;

public interface PersonMapper {
	List<Person> queryPerson();
}
5、创建dao的实现xml文件:personMapper.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">  

    <mapper namespace="com.drek.dao.PersonMapper">
    	<!-- 设置结果集 -->
    	<resultMap type="com.drek.entity.Person" id="personMap">
    		<id property="id" column="id" />
    		<result property="name" column="name" />
    		<result property="age" column="age" />
    	</resultMap>
    	<!-- 书写查询Sql语句: 
    		id值必须与PersonMapper.java中的方法名一致;
    		resultMap:返回的结果集
    		resultType: 当返回的数据只有一条时,可以直接设置返回类型,即:com.drek.entity.Person
    	 -->
		<select id="queryPerson" resultMap="personMap" >
			select * from person
		</select>
		<!-- 
			上面是查询操作,执行增加、修改、删除操作 Sql语句需要写在 
			<insert>
				增加Sql语句
			</insert>
			<update>
				修改Sql语句
			</update>
			<delete>
				删除SQL语句
			</delete>
			中
		 -->
    </mapper>
6、测试类:DBTest.java

package com.drek.test;

import java.io.IOException;
import java.io.Reader;
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 com.drek.dao.PersonMapper;
import com.drek.entity.Person;

public class DBTest {

	public static void main(String[] args) {
		//获得SqlSession实例
		SqlSession session = getSessionFactory().openSession();
		PersonMapper personMapper = session.getMapper(PersonMapper.class);
		List<Person> persons = personMapper.queryPerson();
		System.out.println(persons.size());
	}
	/**
	 * 用来获取SqlSessionFactory实例
	 * SqlSessionFactory实例用来创建SqlSession
	 * SqlSession则用来执行数据的增删查改操作
	 * @return
	 */
	public static SqlSessionFactory getSessionFactory(){
		SqlSessionFactory sessionFactory = null;
		String resource = "com/drek/xml/configuration.xml";
		try {
			//加载资源文件SqlSessionFactory实例
			Reader reader = Resources.getResourceAsReader(resource);
			sessionFactory = new SqlSessionFactoryBuilder().build(reader);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return sessionFactory;
	}
	
}




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值