程序员社区

【MyBatis学习及总结01】MyBatis入门

文章目录

        • 1.环境搭建
        • 2.导包
        • 3.写配置
        • 4.测试

在这里插入图片描述
在这里插入图片描述

1.环境搭建

创建一个maven父工程和子工程
创建数据库,表,以及封装数据库的javabean和操作数据库的dao接口
在这里插入图片描述

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Employee {
    private Integer id;
    private String empName;
    private String email;
}
public interface EmployeeDao {
    //根据员工id获取员工
    public Employee getEmpByID();
}

2.导包

在这里插入图片描述
因为Log4j需要依赖一个classpath路径下的xml文件,需要导入一个log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
   <param name="Encoding" value="UTF-8" />
   <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n" />
   </layout>
 </appender>
 <logger name="java.sql">
   <level value="debug" />
 </logger>
 <logger name="org.apache.ibatis">
   <level value="info" />
 </logger>
 <root>
   <level value="debug" />
   <appender-ref ref="STDOUT" />
 </root>
</log4j:configuration>

3.写配置

1.第一个配置文件:MyBatis的全局配置文件,知道MyBatis如何正确运行,比如连接哪个数据库

<?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://localhost/3306/mybatis_01"/>
                <property name="username" value="root"/>
                <property name="password" value="123"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="org/mybatis/example/BlogMapper.xml"/>
    </mappers>
</configuration>

2.第二个数据库:编写每一个方法如何向数据库发送sql语句,如何执行。

<?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">

<!--名称空间:写接口的全类名,告诉Mybatis这个配置文件是实现哪个接口的-->
<mapper namespace="com.hh.dao.EmployeeDao">
    <!--
    用来定义一个查询操作
    id:方法名相当于配置对某个方法的实现
    resultType:指定方法运行后的返回值参数(查询操作必须指定的)
    #{id}:代表取出传递过来的某个参数的值
    -->
    <select id="getEmpById" resultType="com.hh.bean.Employee">
        select * from t_employee where id=#{id}
    </select>
</mapper>

3.我们写的第二个配置文件,MyBatis是不知道的,需要在全局配置文件(第一个配置文件)中注册:

<!--引入我们自己编写的每一个接口的实现文件-->
<mappers>
    <mapper resource="com/hh/dao/EmployeeDao.xml"/>
</mappers>

4.测试

1.根据全局配置文件创建一个SqlSessionFactory对象

//根据全局配置文件创建一个SqlSessionFactory
//SqlSessionFactory是SqlSession工厂,负责创建SqlSession对象
//SqlSession:sql会话(和数据库的一次会话)
String resource = "mybatis-config.xml";
InputStream inputStream =
     Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlsessionFactory = builder.build(inputStream);

2.从SqlSessionFactory对象中获取SqlSession对象操作数据库

//获取和数据库的一次会话:getConnection()
SqlSession sqlSession = sqlsessionFactory.openSession();
//使用sqlSession操作数据库
EmployeeDao mapper = sqlSession.getMapper(EmployeeDao.class);
Employee employee = mapper.getEmpById(1);
System.out.println(employee);

在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【MyBatis学习及总结01】MyBatis入门

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区