Mabitis入门(小学生总结,多多指点)

来源:互联网 发布:qq飞车噬魂金甲数据 编辑:程序博客网 时间:2024/06/05 04:28

Mybatis结构图
Mybatis 需要一个核心的 .jar 包(mybatis-3.2.8.jar),和两个支持的 .jar包(cglib-2.2.jar,asm-3.3.jar).

步骤:
这里写图片描述

    一、 创建核心的的配置文件              1.连接数据库的参数              名:mysql-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>  <environments default="environment">    <environment id="environment">      <!-- JDBC不是告之mybatis直连操作的意思,告之转换协议需要 mysql...jar -->     <transactionManager type="JDBC"></transactionManager>     <!-- POOLED:使用缓存方式解析DB -->     <dataSource type="POOLED">        <property name="driver" value="com.mysql.jdbc.Driver"/>        <property name="url" value="jdbc:mysql://localhost:3306/book?useUnicode=true&amp;characterEncoding=utf-8"/>        <property name="username" value="root"/>        <property name="password" value="root"/>     </dataSource>    </environment>  </environments>  <mappers>    <!-- 加载各个表和实体类对象映射关系的xml -->    <mapper resource="com/web/mybatis/userSql.xml"/>  </mappers></configuration>
  二、连接针对需要操作表的映射关系      名:userSql.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="usersMapper">  <!-- 针对users表相关数据库表的映射配置文件 -->  <resultMap type="com.web.entity.Users" id="userMap">      <id column="uid" property="uid" javaType="Integer" jdbcType="INTEGER"/>      <result column="uname" property="uname" javaType="string" jdbcType="VARCHAR"/>      <result column="upwd" property="upwd" jdbcType="VARCHAR" javaType="string" />      <result column="usex" property="usex" jdbcType="VARCHAR" javaType="string" />      <result column="udid" property="udid" jdbcType="INTEGER" javaType="Integer" />      <result column="udate" property="udate" jdbcType="VARCHAR" javaType="string" />      <result column="ulogo" property="ulogo" jdbcType="VARCHAR" javaType="string" />      <association property="dept" javaType="com.web.entity.Dept" resultMap="deptMap"></association>  </resultMap>  <resultMap type="com.web.entity.Dept" id="deptMap">     <id column="id" property="id" javaType="Integer" jdbcType="INTEGER"/>     <result column="d_name" property="name" javaType="string" jdbcType="VARCHAR"/>  </resultMap>  <!-- 数据查询语句-->  <select id="SelectUser" resultMap="userMap" parameterType="com.web.entity.Users">    select * from users where uname like #{uname}  </select></mapper>

其中< id />是主键,column=”“是数据库的字段名,property=”“是实体类中对映的属性名。

  三、创建Mybatis工厂连接池的启动类(自定义),一方面,其担任多线程连接池.jar入口的角色,另一方面,激活连接池.jar
package com.web.mybatis;import java.io.IOException;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;/** * mybatis 连接池jar 入口 * 当mybatis被Spring整合的时候该类不存在 * @author Administrator * */public class MysqlMyabitsSessionFactory {    //创建工程连接池的对象,也就是线程的对象    private static SqlSessionFactory sqlSession=null;    private static MysqlMyabitsSessionFactory mySession=null;    //    public MysqlMyabitsSessionFactory() {        //加载核心的配置文件 mysql-config.xml        String resource="com/web/mybatis/mysql-config.xml";        //创建读取该配置文件的IO流        try {            //创建mybatis Reader读取配置文件的对象            Reader read=Resources.getResourceAsReader(resource);            //通过配置文件对象来获取操作线程            sqlSession=new SqlSessionFactoryBuilder().build(read);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    //返回当前的类对象    public static MysqlMyabitsSessionFactory getInstance(){        if(mySession==null){            return new MysqlMyabitsSessionFactory();        }        return mySession;    }    public static SqlSessionFactory getSqlSessionFactory(){        return sqlSession;    }}
  四、创建一个类,实现select操作
package com.web.control;import java.util.List;import org.apache.ibatis.session.SqlSession;import com.web.entity.Users;import com.web.mybatis.MysqlMyabitsSessionFactory;public class UsersModel {    //mybatis连接池对象    private SqlSession sqlSession=null;    public UsersModel() {        // TODO Auto-generated constructor stub        if(sqlSession==null){            sqlSession=MysqlMyabitsSessionFactory.getInstance()                    .getSqlSessionFactory().openSession();        }    }    public List<Users> SelectUsers(){        Users user=new Users();        user.setUname("%ete%");        List<Users> list=this.sqlSession.selectList("SelectUser", user);//              ("SelectUser");        return list;    }    public static void main(String[] args) {        // TODO Auto-generated method stub        UsersModel um=new UsersModel();        List<Users> ls=um.SelectUsers();        for (Users users : ls) {            System.out.println(users.getUid()+"-"+users.getUname1());        }    }}
Mybatis接口开发模式只需在上面的程序稍作修改1.我们先在com.web.mapper包下建立一个实现接口创建一个查询方法
package com.web.mapper;import java.util.List;import com.web.entity.User;public interface IUserMappler {     public List<User> SearchUser(User user);     public int DeleteUser(User user);}
2.

这里写图片描述

3.

这里写图片描述

原创粉丝点击