Mybatis_1(认识)一个简单的HelloWorld

1. 介绍:

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

过程:jdbc–>dbutil–>(mybatis)–>hibernate
所需部分:

    1.jar包
        asm-3.3.1.jar、
        cglib-2.2.2.jar、
        commons-logging-1.1.1.jar、
        log4j-1.2.16.jar、  
        mybatis-3.1.1.jar、
        mysql-connector-java-5.1.7-bin.jar、
        slf4j-api-1.6.2.jar
        slf4j-log4j12-1.6.2.jar
     2. 实体类
     3. 接口
     4.映射文件
     5.配置文件
     6.提供sqlsession的工具类

2.一个简单的HelloWorld

2.1.实体类:User:

    public class User {
         private int id;
         private String name;
         private int age;
         //getter、setter...
    }

2.2.映射文件: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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 -->
<mapper namespace="com.test.helloworld.userMapper">
     <select id="selectAll" resultType="com.test.bean.User">
           select * from users
     </select>
</mapper>

2.3.配置文件mybatis.cfg.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="mysql.properties"></properties>
     <!-- 配置mybatis运行环境,development:开发模式,work:工作模式-->
     <environments default="development">
           <environment id="development">
                <!-- type=“jdbc”表示使用JDBC的提交和回滚来管理事务 -->
                <transactionManager type="JDBC" />
                <!-- mybatis提供了三种数据源类型,POOLED,UNPOOLED,JNDI -->
                <!-- POOLED:表示支持JDBC数据源的连接池 -->
                <!-- UNPOOLED:表示不支持JDBC数据源的连接池 -->
                <!-- JNDI:表示支持外部数据源连接池 -->
                <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>
           <!-- 一个简单的HelloWorld查询SQL映射 -->
           <mapper resource="com/test/helloworld/userMapper.xml"/>
     </mappers>
     <!-- 为实体类定义别名,简化sql映射xml文件中的引用 -->
     <!-- <typeAliases>
           <typeAlias type="com.test.bean.User" alias="_User"/>
     </typeAliases> -->
</configuration>

2.4.数据库配置文件mysql.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis1?useUincode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root

2.5.测试类Test.java

public class Test {
     /**
      * 查询所有User表中数据
      * @param args
      * @throws IOException
      */
     public static void main(String[] args) throws IOException {
           String resource = "mybatis.cfg.xml";
           //加载配置文件
           Reader reader = Resources.getResourceAsReader(resource);
           //构建SQLsession工厂
           SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
           //获取执行映射文件中SQL语句的session
           SqlSession sqlSession = factory.openSession();
           //映射SQL的标识字符串
           String statement = "com.test.helloworld.userMapper.selectAll";
           //执行查询返回一个唯一user对象的sql
           List<User> user = sqlSession.selectList(statement);
           System.out.println(user);
     }
}

查询结果:

[User [id=4, name=张三, age=21], User [id=5, name=张三三, age=21], User [id=6, name=张三, age=21], User [id=7, name=张三, age=21], User [id=9, name=张三三, age=21], User [id=10, name=3, age=3], User [id=11, name=张三, age=21]]
原文地址:https://www.cnblogs.com/tengpengfei/p/10453932.html