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>

- 在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();
}
}
}
- 运行测试类
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>




浙公网安备 33010602011771号