MyBatis学习(一)基本配置与使用

1、前期准备

文件具体架构图


1、配置conf.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.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/xiao?serverTimezone=GMT%2B8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 加载映射文件 -->
<mapper resource="com/feng/entity/personMapper.xml"/>
</mappers>
</configuration>

2、创建对应的表和实体类

package com.feng.entity;

public class Person {
private int id;
private String name;
private int age; public Person(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public Person() {
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}

对应mysql中的表如图所示:

3、配置对应的映射文件xxxMapper.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="com.feng.entity.personMapper"> <select id="queryPersonById" resultType="com.feng.entity.Person" parameterType="int">
select * from person where id = #{id}
</select> </mapper>

4、创建对应的测试类

package com.feng.entity;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException;
import java.io.Reader; public class TestMyBatis {
public static void main(String[] args) throws IOException {
// 1、加载MyBatis配置文件、为了访问数据库
Reader reader = Resources.getResourceAsReader("com/feng/conf.xml");
// 2、sqlSessionFactory -- connection
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession sqlSession = sqlSessionFactory.openSession();
// 3、执行查询、需要所在映射文件的namespace + id 值
String statement = "com.feng.entity.personMapper.queryPersonById";
Person person = sqlSession.selectOne(statement, 1);
System.out.println(person);
// 4、关闭连接
sqlSession.close();
}
}

2、运行结果

最新文章

  1. js数组去重几种思路
  2. 关于es5的一些新方法
  3. Node Pm2 配置
  4. C# Questions
  5. 转:浅谈CSS在前端优化中一些值得注意的关键点
  6. bzoj2054 疯狂的馒头
  7. C++ windows遍历目录
  8. google_apactest_round_A_problem_D
  9. C# 加密算法
  10. PHP的语言规范
  11. bzoj 1067: [SCOI2007]降雨量 模擬
  12. C和C++的区别和联系
  13. 【Java】 剑指offer(68) 树中两个结点的最低公共祖先
  14. MPX
  15. rabbitmq重装依赖的erlang 要注意
  16. 【LeetCode】173. Binary Search Tree Iterator (2 solutions)
  17. 彻底删除weblogic域方法
  18. Servlet基本用法(二)接口和类
  19. 2.1 Linux中wait、system 分析
  20. JDK 1.8 ConcurrentHashMap 源码剖析

热门文章

  1. 全面了解 Javascript Prototype Chain 原型链
  2. 【基因组预测】braker2基因结构注释要点记录
  3. alpine切换源 安装慢 apk add很慢
  4. Oracle——listener数据库监听 lsnrctl
  5. (转载)SQL Server 2008 连接JDBC详细图文教程
  6. 开发安卓记账本-HelloAndroid的完成
  7. academy
  8. EDA简介
  9. Angular 组件通信的三种方式
  10. Win7部署Yapi