Mybatis学习之入门篇

来源:互联网 发布:剑三花姐捏脸数据网盘 编辑:程序博客网 时间:2024/06/01 09:47

这是一个简答的例子,用来作为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 blocke.printStackTrace();}return sessionFactory;}}




0 0
原创粉丝点击