大家好,今天来给大家分享下Mybatis这个后端框架,希望对初学者者有一定的帮助,咱们废话不多说直接开始!!
一、什么是 MyBatis?
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
那我们再来看下mybatis结构体系
这个是mybatis的机构体系一共有4个部分完成,分别是参数映射、SQL解析、SQL执行、结果映射。因为今天是带大家快速上手mybatis底层不过与多说。
那我们现在开始搭建mybatis的开发环境,小编在这里呢用的是IDEA这个开发工具,也推荐大家使用挺方便的。
二、搭建mybatis开发环境
1.创建java控制台项目即可
2.导入相应的jar包
3.创建数据库和表
4.使用mybatis查询这个表里面的数据
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> <!--引入外置配置文件--> <properties resource="database.properties"></properties> <environments default="development"> <environment id="development"> <!--数据库连接事务--> <transactionManager type="JDBC"/> <!--数据库连接池--> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments>
<!--注册mapper文件-->
<mappers>
<mapper resource="mapper/studentMapper.xml"/>
</mappers>
</configuration>
5.定义表所对应的实体类
Studententity具体如下:
package entity; public class Studententity { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Integer getID() { return ID; } public void setID(Integer ID) { this.ID = ID; } @Override public String toString() { return "Studententity{" + "Name='" + name + '\'' + ", age=" + age + ", sex='" + sex + '\'' + ", ID=" + ID + '}'; } }
6.定义操作Student表的sql映射文件和接口
、
studentMapper和studentMapper.xml
分别如下:
public interface studentMapper { /** * 1.方法名和mapper.xml文件中标签的id值相同 * 2.方法的输入参数和mapper.xml文件中的标签parameterType类型一致 * 3.方法的返回值和mapper.xml文件中的标签resultType类型一致 * * */ Studententity SelByID(Integer ID);//根据ID查询 }
<?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">
<--namespcae指向接口的类路径--> <mapper namespace="mapper.studentMapper"> <select id="SelByID" parameterType="int" resultType="Studententity"> select * from student where id = #{id} </select> </mapper>
6.上面已经说到在mybatis-config.xml中注册mapper.xml配置文件。
7.写一个mybatis的工具类
public class MyBatisUtils { public static SqlSessionFactory getSqlSessionFactory() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); return new SqlSessionFactoryBuilder().build(inputStream); } }
8.在main方法里写测试
public void selbyid() throws IOException { SqlSessionFactory sqlSessionFactory = MyBatisUtils.getSqlSessionFactory(); SqlSession sqlSession = sqlSessionFactory.openSession(); Studententity studententity = sqlSession.getMapper(studentMapper.class).SelByID(1); System.out.println(studententity.getName()); }
9.这样就可以输出了。
注:小编也是第一次写博客,更是为了帮助更多正在学习的朋友们,有什么错误请及时评论,随后可能还会推出SSM,SpringBoot,SpringCloud,redis,nginx,等等java后端知识,敬请关注,谢谢!