黑马程序员技术交流社区

标题: 【上海校区】Mybatis快速入门 [打印本页]

作者: 偷树的光头强    时间: 2019-3-27 15:22
标题: 【上海校区】Mybatis快速入门

                                                                  Mybatis快速入门
一、创建工程,包
1.首先创建工程,创建包,cn.itcast.pojo
2.创建User的实体类
[Java] 纯文本查看 复制代码
public class User {
    private Long id;
    // 用户名
    private String userName;
    // 密码
    private String password;
    // 姓名
    private String name;
    // 年龄
    private Integer age;
    // 性别,1男性,2女性
    private Integer sex;
    // 出生日期
    private Date birthday;
    // 创建时间
    private Date created;
    // 更新时间
    private Date updated;
    //生成getter和setter方法
    //生成toString方法
}

二、导入Mybatis的依赖
[Java] 纯文本查看 复制代码
<!-- Mybatis -->
                <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
                </dependency>

三、引入Mybatis的全局配置文件
mybatis-config.xml
[Java] 纯文本查看 复制代码
<?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>
        <!-- 环境:说明可以配置多个,default:指定生效的环境 -->
        <environments default="development">
                <!-- id:环境的唯一标识 -->
                <environment id="development">
                        <!-- 事务管理器,type:类型 -->
                        <transactionManager type="JDBC" />
                        <!-- 数据源:type-池类型的数据源 -->
                        <dataSource type="POOLED">
                                <property name="driver" value="com.mysql.jdbc.Driver" />
                                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" />
                                <property name="username" value="root" />
                                <property name="password" value="root" />
                        </dataSource>
                </environment>
        </environments>
        <!-- 映射文件 -->
        <mappers>
                <mapper resource="UserMapper.xml" />
        </mappers>
</configuration>

四、引入对应的Mapper映射文件
UserMapper.xml
[Java] 纯文本查看 复制代码
<?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">
<!-- namespace(命名空间):映射文件的唯一标识 -->
<mapper namespace="UserMapper">
        <!-- 查询的statement,id:在同一个命名空间下的唯一标识,resultType:sql语句的结果集封装类型 ,写实体类的全路径-->
        <select id="queryUserById" resultType="cn.itcast.pojo.User">
                select * from tb_user where id=#{id}
        </select>
</mapper>

五、编写测试程序
MybatisTest.java
[Java] 纯文本查看 复制代码
public static void main(String[] args) throws IOException {
                SqlSession sqlSession = null;
                try {
                        // 指定mybatis的全局配置文件
                        String resource = "mybatis-config.xml";
                        // 读取mybatis-config.xml配置文件
                        InputStream inputStream = Resources.getResourceAsStream(resource);
                        // 构建sqlSessionFactory
                        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                        // 获取sqlSession回话
                        sqlSession = sqlSessionFactory.openSession();
                        // 执行查询操作,获取结果集。参数:1-命名空间(namespace)+“.”+statementId,2-sql的占位符参数
                        User user = sqlSession.selectOne("UserMapper.queryUserById", 1l);
                        System.out.println(user);
                } finally {
                        // 关闭连接
                        if (sqlSession != null) {
                                sqlSession.close();
                        }
                }
        }

六、引入log日志,查看Mybatis的执行日志
1.导入log的依赖
[Java] 纯文本查看 复制代码
<!--slf4j日志-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>

2.添加log4j.properties配置文件到resources目录下
log4j.properties
[Java] 纯文本查看 复制代码
log4j.rootLogger=DEBUG,A1
log4j.logger.org.apache=DEBUG
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n

3.日志输出



七、Mybatis的步骤总结
1) 配置mybatis-config.xml 全局的配置文件 (1、数据源,2、外部的mapper)
2) 创建XxxMapper.xml 映射文件(写sql语句)
3) 创建SqlSessionFactory(new SqlSessionFactoryBuilder.builder())
4) 通过SqlSessionFactory创建SqlSession对象(sqlSessionFactory.openSession())
5) 通过SqlSession操作数据库 CRUD
6) 调用session.commit()提交事务
7) 调用session.close()关闭会话


作者: 不二晨    时间: 2019-3-28 10:43
奈斯,感谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2