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

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.

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值