MyBatis3-topic-01 -安装/下载/官方文档 -执行输入一条已经映射的sql语句
mybatis XML 映射配置文件 (官方文档)
-对象工厂(objectFactory)
-配置环境(environments)
-映射器(mappers)
本地IDEA搭建/测试步骤
- 创建数据库
- 执行mysql查询
CREATE DATABASE mybatis; CREATE TABLE tbl_employee( id INT(11) PRIMARY KEY AUTO_INCREMENT, last_name VARCHAR(25), gender CHAR(1), email VARCHAR(25) );
- 插入一条数据

- 执行mysql查询
- 加载jar包 :
-
- log4.jar 用于显示查询信息;
-
- 创建工程的资源文件夹(source folder) conf ,存储XML文件
-

-
log4j.xml (用于辅助显示sql查询信息)<?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>
EmployeeMapper.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="day_01.EmployeeMapper"> <select id="selectEmp" resultType="day_01.Employee"> select id,last_name lastname,gender,email from tbl_employee where id = #{id} </select> </mapper>
<!--
namespace: 名称空间
id: 唯一标识
resultType:返回值类型
#{id} : 从传递过来的参数中取出id值
!--> -
全局配置文件{mybatis-config.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://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!--将我们写好的sql映射文件{EmployeeMapper.xml}, 一定要注册到本全局配置文件{mybatis-config.xml}中--> <mappers> <mapper resource="EmployeeMapper.xml"/> </mappers> </configuration>
-
- 创建Employee 的JavaBean类 , 加上toString()方法
-
-
View Codepackage day_01; public class Employee { private Integer id; private String lastname,email,gender; @Override public String toString() { return "Employee{" + "id=" + id + ", lastname='" + lastname + '\'' + ", email='" + email + '\'' + ", gender='" + gender + '\'' + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }
- 创建class MybatisTest01 测试类,执行并输入一条已经映射的sql语句
-
/** * 1. 根据xml配置文件(全局配置文件),创建一个sqlSessionFactory 对象, * 有一些运行环境的信息 * 2.sql映射文件:配置了每一个sql ,以及sql的封装规则; * 3.将sql映射文件保存注册在全局配置文件中; * 4.写代码: * 1): 根据全局配置文件得到sqlSessionFactory; * 2): 使用sqlSession工厂,获得到sqlSession 对象,使用它来进行增删改查; * 一个sqlSession 就是代表和数据库的一次会话,用完关闭; * 3): 使用sql的唯一标识来告诉MyBatis执行那个sql,sql都是保存在sql映射文件中; */
-
public class MybatisTest01 { @Test public void test01() throws IOException { //第一步根据xml配置文件(全局配置文件) String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //第二步 ,获取sqlSession的实例,能够执行已经映射的sql语句 SqlSession openSession=sqlSessionFactory.openSession(); try { //格式: openSession.selectOne("mapper的namespace+id" , arg1:传入数据) Employee employee = openSession.selectOne("day_01.EmployeeMapper.selectEmp",1); System.out.println(employee); } finally { openSession.close(); } } }
你不逼自己一把,你永远都不知道自己有多优秀!只有经历了一些事,你才会懂得好好珍惜眼前的时光!

浙公网安备 33010602011771号