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输出的,配置方法点这里

  • 相关阅读:
    December 23rd 2016 Week 52nd Friday
    December 22nd 2016 Week 52nd Thursday
    December 21st 2016 Week 52nd Wednesday
    December 20th 2016 Week 52nd Tuesday
    December 19th 2016 Week 52nd Sunday
    December 18th 2016 Week 52nd Sunday
    uva294(唯一分解定理)
    uva11624Fire!(bfs)
    fzu2150Fire Game(双起点bfs)
    poj3276Face The Right Way
  • 原文地址:https://www.cnblogs.com/A-yes/p/9894184.html
Copyright © 2011-2022 走看看