前言
mybatis框架是对dao层的数据进行处理,其实也就是对mysql数据进行处理,比jdbcTemplate操作数据库根据方便快捷。
一、pom.xml
当我们创建一个Maven工程后,该工程中会自动生成一个pom.xml文件,该文件里面用于存放我们需要使用的一些配置文件。而Mybatis框架的使用,就必须在pom.xml中加入它的坐标:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
然后maven刷新即可。
二、sqlMapConfig.xml
这一个文件是属于mybatis框架中的核心配置文件,只有在这个文件配置了的基础上,才能够真正使用mybatis框架。
我们需要在该文件中配置一些内容:
<!-- 核心约束 -->
<?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标签加载外部properties文件-->
<properties resource="jdbc.properties"></properties>
<!--自定义类的别名-->
<typeAliases>
<typeAlias type="com.itheima.domain.User" alias="user"> </typeAlias>
</typeAliases>
<!--数据源的环境-->
<environments default="developement">
<environment id="developement">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--加载映射文件-->
<mappers>
<mapper resource="mapper/UserMapper.xml"></mapper>
</mappers>
</configuration>
三 、UserMapper.xml和注解实现
实现对sql语句的编写,来对数据库进行增删改查。有两者方式一个配置Mapper.xml文件,一个就是注解配置。
UserMapper.xml该配置文件是对User类进行数据库操作。
<?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.itheima.mapper.UserMapper">
<!--sql语句的抽取-->
<sql id="selectUser">select * from user</sql>
<select id="findByCondition" parameterType="user" resultType="user">
<include refid="selectUser"></include>
<where>
<if test="id!=0">
and id=#{id}
</if>
<if test="username!=null">
and username = #{username}
</if>
<if test="password!=null">
and password=#{password}
</if>
</where>
</select>
<!-- 设置一个根据id查询的sql语句 -->
<select id="findByIds" parameterType="list" resultType="user">
<include refid="selectUser"></include>
<where>
<foreach collection="list" open="id in(" close=")" item="id" separator=",">
#{id}
</foreach>
</where>
</select>
</mapper>
在配置了这个xml文件后,我们还得书写实体类,也就Mapper文件。
注解配置:就是对dao中的接口方法上进行配置:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.itheima.mapper;
import com.itheima.domain.User;
import java.io.IOException;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Many;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
public interface UserMapper {
@Insert({"insert into user value (#{id},#{username},#{password},#{birthday})"})
void save(User var1);
@Update({"update user set username=#{username},password=#{password} where id=#{id}"})
void update(User var1);
@Delete({"delete from user where id=#{id}"})
void delete(int var1);
@Select({"select *from user"})
List<User> findAll() throws IOException;
@Select({"select *from user where id=#{id}"})
User findById(int var1) throws IOException;
总结
Mybatis中是一个轻量级的框架,但是它的关键性能都很不错。