zoukankan      html  css  js  c++  java
  • MyBatis学习总结[1]-入门

    文档地址http://www.mybatis.org/mybatis-3/zh/index.html

    安装

    要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于 classpath 中即可。还要放所使用的数据库的驱动。
    这里写图片描述

    配置文件

    <?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?, settings?, typeAliases?, typeHandlers?,objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)
    -->
       <!-- 别名 -->
       <typeAliases>
          <package name="me.model"/>
      </typeAliases>
      <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/mybatis"/>
            <property name="username" value="root"/>
            <property name="password" value="1234"/>
          </dataSource>
        </environment>   
      </environments>
    
      <mappers>
        <!-- 注册Mapper -->
        <mapper resource="me/mapper/UserMapper.xml"/>
        <!-- <package name="me.dao"/> -->
      </mappers>
    </configuration>

    实体类

    package me.model;
    
    import java.util.List;
    
    public class User {
        private int id;
        private String name;
        private String 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 String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        @Override
        public String toString() {
            // TODO Auto-generated method stub
            return id+" "+name+" "+age+" ";
        }
    }
    

    Usermapper.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="me.dao.UserDao">
      <select id="selectById" parameterType="int" resultType="User">
        select * from users where id = #{id}
      </select>
    </mapper>

    Service类

    package me.service;
    
    import java.io.InputStream;
    import java.util.List;
    import me.model.User;
    
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    public class UserService {
    //从 XML 中构建 SqlSessionFactory
        String resource = "conf.xml";
        InputStream is = UserService.class.getClassLoader().getResourceAsStream(
                resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
                .build(is);
        SqlSession session = sqlSessionFactory.openSession();
        public void selectUserById(int id) {
        //me.dao.UerDao.selectById为map文件的xml,namespace+select标签id
            User user=session.selectOne("me.dao.UerDao.selectById",id);
        }
    
        public void close(){
            session.close();
        }
    }
    

    测试类

    package me.service;
    
    import static org.junit.Assert.*;
    
    import org.junit.AfterClass;
    import org.junit.BeforeClass;
    import org.junit.Test;
    public class UserServiceTest {
        static UserService s=null;
        @BeforeClass
        public static void before(){
            s=new UserService();
        }
        @Test
        public void test() {
            s.selectUserById(2);
        }
    
        @AfterClass
        public static void after(){
            s.close();
        }
    
    }
    

    结果

    语句执行成功,另外这个日志是log4j输出的,配置方法点这里

  • 相关阅读:
    数组集合之间的转换
    eclipse 大小写转换
    Linux下查看文件内容的命令
    linux常用命令:创建文件和文件夹
    Error Downloading Packages: yum更新出现错误
    XShell上传文件到Linux服务器上
    linux最常用的20个命令
    Sonar理论篇
    如何查看DLL文件的函数列表
    C++在C的基础上的扩充
  • 原文地址:https://www.cnblogs.com/A-yes/p/9894184.html
Copyright © 2011-2022 走看看