mybatis基础学习一

1. Mybatis介绍(ibatis)

MyBatis是支持普通****SQL****查询存储过程高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.

2. mybatis快速入门

编写第一个基于mybaits的测试例子:

2.1添加jar包

【mybatis】
mybatis-3.1.1.jar

【MYSQL驱动包】
mysql-connector-java-5.1.7-bin.jar

2.2建库+表

create database mybatis;

use mybatis;

CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);

INSERT INTO users(NAME, age) VALUES(‘Tom’, 12);

INSERT INTO users(NAME, age) VALUES(‘Jack’, 11);

2.3 添加mybatis配置文件conf.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
  3. <configuration>
  4. <environments default="development">
  5. <environment id="development">
  6. <transactionManager type="JDBC" />
  7. <dataSource type="POOLED">
  8. <property name="driver" value="com.mysql.jdbc.Driver" />
  9. <property name="url" value="jdbc:mysql://172.171.2.161:3306/mybatis" />
  10. <property name="username" value="root" />
  11. <property name="password" value="root123" />
  12. </dataSource>
  13. </environment>
  14. </environments>
  15. <!--后面2.6章节添加-->
  16. <mappers>
  17. <mapper resource="mybatis/userMapper.xml"/>
  18. </mappers>
  19. </configuration>

2.4 定义表所对应的实体类

  1. package mybatis;
  2. public class User
  3. {
  4. private int id;
  5. private String name;
  6. private int age;
  7. public User(final int id, final String name, final int age)
  8. {
  9. super();
  10. this.id = id;
  11. this.name = name;
  12. this.age = age;
  13. }
  14. public User()
  15. {
  16. super();
  17. }
  18. public int getId()
  19. {
  20. return id;
  21. }
  22. public void setId(final int id)
  23. {
  24. this.id = id;
  25. }
  26. public String getName()
  27. {
  28. return name;
  29. }
  30. public void setName(final String name)
  31. {
  32. this.name = name;
  33. }
  34. public int getAge()
  35. {
  36. return age;
  37. }
  38. public void setAge(final int age)
  39. {
  40. this.age = age;
  41. }
  42. @Override
  43. public String toString()
  44. {
  45. return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
  46. }
  47. }

2.5 定义操作users表的sql映射文件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="mybatis.userMapper"> 
    <select id="getUser" parameterType="int" 
        resultType="mybatis.User">
        select * from users where id=#{id}
    </select>
</mapper>

2.6 在conf.xml文件中注册userMapper.xml文件

<mappers>
    <mapper resource="mybatis/userMapper.xml"/>
</mappers>

2.7 编写测试代码:执行定义的select语句

  1. package mybatis;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import org.apache.ibatis.session.SqlSession;
  5. import org.apache.ibatis.session.SqlSessionFactory;
  6. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  7. public class Test
  8. {
  9. public static void main(final String[] args) throws IOException
  10. {
  11. String resource = "conf.xml";
  12. InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
  13. SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
  14. SqlSession session = factory.openSession();
  15. String statement = "mybatis.userMapper.getUser";
  16. User user = session.selectOne(statement, 1);
  17. System.out.println(user);
  18. }
  19. }




posted @ 2016-06-14 14:37  angerzeProgrammer  阅读(114)  评论(0)    收藏  举报