Mybatis入门

1.MyBatis下载

1.在gitHub搜索mybatis 选择mybatis/mybatis-3
在这里插入图片描述
下拉
在这里插入图片描述
里面就有了

2.MyBatis是什么

是一个框架
可以定做话sql语句,存储过程以及高级映射。
代替了JDBC 只需要书写sql语句 MyBatis自己来执行
持久层框架
是一个半自动化的ORM框架
O:Object——对象 R:Relation——表 M: mapping——映射(有全自动 但是效率低难度高)

是一个框架 早期叫ibatis, 代码在GitHub
MyBatis SQL Mapper Framework for Java:适用于 Java 的 MyBatis SQL 映射器框架
1.SQL mapper: sql映射
可以吧数据库表中的一行数据映射为一个对象
一行数据可以看成一个java对象 ,操作这个对象,就相当于操作表中的数据

2.Data Access objects (DAOS)。数据访问 ,对数据库进行增删改查

3.mybatis有什么用

1。提供创建啦 Connection MStatement ResultSet的能力 ,不用开发人员创建
2。可以执行SQL语句的能力,不用你执行
3。提供了吧SQL结果转换成list集合的能力
4.还具备管闭资源的能力

你能干什么 就是提供sql语句

4.MyBatis怎么用(Maven)简单的查询

1.创建项目
在这里插入图片描述
2.下一步
在这里插入图片描述
3。下一步
在这里插入图片描述
4。 等待下载资源保障网络

5.准备jar包
在这里插入图片描述

<!--mybaitsjar包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version> </dependency>
<!--加载mysql的jar包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>

在这里插入图片描述

  1. 在idea的右边点击Maven 点击工具栏第一个刷新 会自动下载jar包
    在这里插入图片描述
    7,右键main创建java 文件夹和 resources文件夹
    在这里插入图片描述
    8.创建主配置文件和映射文件
    在这里插入图片描述
    9.书写主配置文件和映射文件
    mybatis。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="a"默认数据源
environment:单个环境 id:唯一性标识
transactionManager:事务管理——**jdbc java管理 Managed:容器管理——tomcat
dataSource:数据源:unpooled:普通打开方式 pooled:数据库连接池 JNDI:远程数据库连接
-->
<!--作用:加载properteis文件的 resources java都是classpath根,现在是两个文件夹,发布后是一个-->
<properties resource="druid.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/Teacher.xml"/>
</mappers>
</configuration>

Book。xml

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace:定位文件:namespace+id-->
<mapper namespace="mapper.Teacher">
<!--映射文件:sql--> <!--id:sql的名字 resultType:映射关系-->
<select id="selectTeacher" resultType="java.util.Map">
select * from t_book
</select>
</mapper>

10,。书写测试类

public class MainTest {
public static void main(String[] args) {
try {
InputStream is= Resources.getResourceAsStream("mybatis.xml");//获取主配置文件
//创建工具类LsqlSessionFactory
SqlSessionFactoryBuilder Builder = new SqlSessionFactoryBuilder();
//SqlSessionFactory factory=builder.build(is,"development");//factory:sqlSession的工厂——基于数据源创建出来SqlSessionFactory
// default="development"走默认 如果是默认的就后面的就可以不写
SqlSessionFactory factory = Builder.build(is);
SqlSession session=factory.openSession();//执行sql
List<Object> objects = session.selectList("mapper.Book.selectBook");
System.out.println(objects);
} catch (IOException e) {
e.printStackTrace();
}
}
}
  1. 运行测试类

5.MyBatis怎么用(Maven)简单的查询(利用接口查询)

1.创建接口和xml (接口和xml的名字要对应)
在这里插入图片描述
在这里插入图片描述
2.设置加载主配置文件

在这里插入图片描述
3.设置测试类测试

public static void main(String[] args) {
try {
InputStream is= Resources.getResourceAsStream("mybatis.xml");//找主配置文件
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();//工具类:创建slqSessionFactory
//SqlSessionFactory factory=builder.build(is,"development");//factory:sqlSession的工厂——基于数据源创建出来SqlSessionFactory
// default="development"走默认
SqlSessionFactory factory=builder.build(is);
SqlSession session=factory.openSession();//执行sql的
//mapper.Teacher.selectTeacher
List<Map> list=session.selectList("mapper.Teacher.selectTeacherName");//框架的强大可以直接吧
System.out.println(list);
} catch (IOException e) {
e.printStackTrace();
}
}

6.利用接口类实现查询

设置接口对应映射文件
注意主配置文件的修改
在这里插入图片描述

7.修改删除添加

<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.person">
<resultMap id="entity" type="com.entiy.Person">
<id column="id" property="id"></id>
<result column="professional" property="professional"></result>
</resultMap>
<!-- resultType ==结果类型 parameterType== 参数类型 -->
<select id="selectByidentity" resultType="com.entiy.Person" parameterType="java.lang.Integer">
SELECT * FROM person WHERE ID = #{id}
</select><select id="selectByidMap" resultType="java.util.Map" parameterType="java.lang.Integer">
SELECT * FROM person WHERE ID = #{id}
</select>
<select id="selectListentiy" resultType="java.util.Map" >
SELECT * FROM person
</select>
<select id="selectListMap" resultType="java.util.Map">
SELECT * FROM person
</select>
<!-- 修改删除新增 默认返回影响条数 -->
<delete id="deleteByid" parameterType="java.lang.String">
delete from person where id = #{id}
</delete>
<update id="updateentiy" parameterType="com.entiy.Person">
update person set name=#{name},age=#{age} where id=#{id}
</update>
<insert id="insertMap" parameterType="java.util.Map">
insert into person values (null,#{name},#{age},#{professional})
</insert>
</mapper>
posted @   啧啧啧|(* ̄ ̄*)  阅读(4)  评论(0编辑  收藏  举报  
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示