Loading

mybatis的快速上手

我的相关博文:
mybatis动态代理
Mybatis 中${}与#{}的区别
mybatis 全局typeAliases配置(配置别名)
mybatis手动映射
mybatis 动态SQL
mybatis延迟加载
Mybatis传递多个参数的4种方式

1. 快速上手

1.1. 程序代码

创建这几个文件
在这里插入图片描述

  1. User.java(pojo)
    public class User {
        private int id;
        private String username;
        private String sex;
        private Date birthday;
        private String address;
    	
    	//省略getter、setter、toString等
    	...
    }
    
    
  2. SqlMapConfig.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>
        <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://127.0.0.1:3306/mybatis?characterEncoding=utf8" />
                    <property name="username" value="root" />
                    <property name="password" value="12345678" />
                </dataSource>
            </environment>
        </environments>
    
        <mappers>
            <mapper resource="UserMapper.xml" />
        </mappers>
    </configuration>    
    
  3. UserMapper.xml(用于配置ORM)
    <?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="user">
       <select id="queryList" resultType="com.kehao.pojo.User">
          select * from user
       </select>
    </mapper>
    
  4. MybatisQuickStart.java(主程序)
    public class MybatisQuickStart {
    
        @Test
        public void mybatisQuickStart(){
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(this.getClass().getResourceAsStream("SqlMapConfig.xml"));
            SqlSession session = factory.openSession();
            List<User> userList = session.selectList("user.queryList");
            for (User user:userList){
                System.out.println(user);
            }
        }
    }
    
  5. 数据库表结构如下
    在这里插入图片描述

1.2. 运行结果

User{id=1, username='小A', sex='1', birthday=Mon Mar 01 00:00:00 CST 2021, address='北京'}
User{id=2, username='小B', sex='0', birthday=Tue Mar 02 00:00:00 CST 2021, address='上海'}
User{id=3, username='小C', sex='1', birthday=Wed Mar 03 00:00:00 CST 2021, address='广州'}
User{id=4, username='小D', sex='1', birthday=Thu Mar 04 00:00:00 CST 2021, address='深圳'}

2. SqlMapConfig.xml文件介绍

<configuration>
	<!--environments 标签
		用于配置运行环境(开发环境,测试环境,部署环境等)的
		里面可以配置多个environment标签,每一个代表一个环境
		default 用来配置实际项目运行的时候使用的是哪一个环境
	-->
    <environments default="development">
    	<!--environment 标签
    		每一个environment标签代表一个环境
    		如开发环境,测试环境,部署环境等
    	-->
        <environment id="development">
        	<!--transactionManager 事务管理配置
                - type="JDBC"  使用的是最原始的JDBC的事务处理机制
                - type="MANAGERED" 不管理事务
            -->
            <transactionManager type="JDBC" />
            <!--dataSource 配置数据源,连接池,可以配置一些数据库的一些信息
                - type="POOLED" 使用连接池(使用MyBatis自带连接池)  
                - type="UNPOOLED"可以配置使用自己的连接池
            -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=utf8" />
                <property name="username" value="root" />
                <property name="password" value="12345678" />
            </dataSource>
        </environment>
    </environments>

	<!--用于配置mapper文件-->
    <mappers>
        <mapper resource="UserMapper.xml" />
    </mappers>
</configuration>    

3. 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">
   <!--
      select 标签,配置的是查询语句
      id 属性,唯一性,在当前文件中唯一  ,属性值 queryList
      框架执行SQL语句: namespace+"."+queryList  确定SQL语句

      resultType: 查询的结果集,是pojo对象
      标签体: 是SQL语句
   -->
<mapper namespace="user">
   <select id="queryList" resultType="com.kehao.pojo.User">
      select * from user
   </select>
</mapper>
posted @ 2021-03-30 10:57  克豪  阅读(48)  评论(0)    收藏  举报