mybatis框架简介

1.mybatis框架简介
    持久层ORM框架,将实体类和sql语句的一种映射关系,半自动化的ORM实现。
    对sql语句解耦合(封装在配置文件中,进行统一管理)
    基于sql语句,简单易测试。
    
    (2)要素:全局配置文件
          映射文件
          
    
    (3)架构:基础层:连接管理、事务管理、一、二级缓存、延时加载
          数据处理层:sql解析,sql执行,结果映射,完成数据库操作
          API接口层:提供增删改查的接口
          
    (4)工作流程: 加载配置文件、初始化
               接受请求
               处理请求
               返回结果
2.入门程序
  (1)创建工程,导包
  (2)全局配置文件 :数据源,环境,映射文件
  (3)配置映射文件:
   (4)测试
  //全局配置文件sqlMappConfig.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>

        <!-- 加载属性文件 -->
        <properties resource="jdbcConfig.properties"></properties>
        
        
        <!-- 和spring整合后 environments配置将废除-->
        <environments default="development">
            <environment id="development">
            <!-- 使用jdbc事务管理,事务控制由mybatis-->
                <transactionManager type="JDBC" />
            <!-- 数据库连接池,由mybatis管理-->
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}" />
                    <property name="url" value="${jdbc.url}" />
                    <property name="username" value="${jdbc.username}" />
                    <property name="password" value="${jdbc.password}" />
                </dataSource>
            </environment>
        </environments>
        <!-- 加载 映射文件 -->
        <mappers>
            <mapper resource="sqlmapper/User.xml"/>
        </mappers>
    
</configuration>

//映射文件User.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="tt" >
      <select id="getUserById" parameterType="int" resultType="com.edu.pojos.User">
            select * from user where uid=#{uid}
      </select>
      
      <select id="getUserByName" parameterType="java.lang.String" resultType="com.edu.pojos.User">
            select * from user where username like   '%${value}%'
      </select>
      
      <insert id="addUser" parameterType="com.edu.pojos.User" >
           insert into user(username,password,age) values(#{username},#{password},#{age})
      </insert>
      
     <update id="udateUser" parameterType="com.edu.pojos.User">
           update user set username=#{username},password=#{password},age=#{age} where uid=#{uid}
     </update> 
     
     <delete id="delUser" parameterType="int">
          delete from user where uid=#{uid}
     </delete>
      
</mapper>

//测试类

  

  public class Test {

        public static void main(String[] args) throws IOException {
            //获取全局配置文件输入流
            //InputStream in=Test.class.getClassLoader().getResourceAsStream("sqlMappingConfig.xml");
            InputStream in=Resources.getResourceAsStream("sqlMappingConfig.xml");
            //获取sqlsessionFactory对象
            SqlSessionFactory fac=new SqlSessionFactoryBuilder().build(in);
            //获取sqlSesion接口()
            SqlSession session=fac.openSession();
            
            /*User user=session.selectOne("tt.getUserById", 9);
            System.out.println(user);*/
            /*
            List<User> list=session.selectList("tt.getUserByName", "w");
            System.out.println(list);*/
            
            //添加用户
    /*        User user=new User();
            user.setUsername("李四");
            user.setPassword("hello");
            user.setAge(18);
            int res=session.insert("tt.addUser", user); //返回值受影响行数
            System.out.println(res);*/
            
            //修改用户
        /*    User user =new User();
            user.setUid(9);
            user.setUsername("星期五");
            user.setPassword("friday");
            user.setAge(23);
            
            int res=session.update("tt.udateUser", user);
            System.out.println(res);*/
            
            //删除用户
            int res=session.delete("tt.delUser", 39);
            System.out.println(res);
            session.commit();//注意:增删改操作必须手动提交
            
            session.close();
        }

    }

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值