写文章

MyBatis入门

2018-11-29 20:10:30

1495 | 0 | 0

1.MyBatis架构

 架构图

face/xCKSFBaKcnrKncPQQw2fWxJw5BtFExc5.png

2.入门

2.1准备

1.创建项目,普通java项目或是web项目都可。

2.导入jar包:mybatis-3.1.1.jar(低于这个版本的jar包需要导入很多依赖包)和mysql-connection-java

3.创建数据库和相应的表,SQL脚本如下:

create database qf_work;

use qf_work;

create table qf_user
(
   user_id              int not null,
   user_role            int not null,
   user_name            varchar(20) not null,
   user_password        varchar(20) not null,
   primary key (user_id)
);

2.2添加Mybatis的配置文件SqlMapConfig.xml

<!DOCTYPE configuration 
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<configuration>
    <!-- 和spring整合后 enviroments配置废除 -->
    <enviroments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理-->
            <transactionManager type="JDBC" />
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driverClass" value="com.mysql.jdbc.Driver"/>
		<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/qf_work?useUnicode=true&characterEncoding=utf-8"/>
		<property name="user" value="root}"/>
		<property name="password" value="root}"/>
	    <dataSource>
	 </environment>
     </enviroments>
     
     
     
</configuration>

2.3表所对应的实体类,QuUser.java

public class QuUser {

	private Integer id;

	private String name;

	private String password;

	private String role;
	
	//自行补充get、set
}

2.4接口,QuUserMapper.java

public interface QuUserMapper {

	List<QuUser> getListUser();

	int insertUser(QuUser user);
	
}

2.5表所对应的sql映射文件,QuUserMapper.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" >

 <!-- 对应QuUserMapper.java -->
<mapper namespace="com.zqf.service.impl.dao.impl.mybatis.QuUserMapper">
	<!-- <resultMap> id(接下来resultMap的标识,调用)type(类型位置,对应实体类QuUser.java)-->
	<resultMap id="BaseResultMap" type="com.zqf.bean.entity.QuUser">
		<!-- <id>列名id,结果集的标识,主键 -->
		<id column="user_id" property="id" jdbcType="INTEGER" />
		<!-- <result>普通列映射配置,column对应数据库,property对应实体类, jdbcType数据库类型-->
		<result column="user_name" property="name" jdbcType="VARCHAR" />
		<result column="user_password" property="password" jdbcType="VARCHAR" />
		<result column="user_role" property="role" jdbcType="VARCHAR" />
	</resultMap>

	<!-- id调用 -->
	<sql id="Base_Column_List">
		user_id, user_name, user_password, user_role
	</sql>
	
	<!-- id对应方法名;resultMap,对应方法的返回类型 -->
	<select id="getListUser" resultMap="BaseResultMap" >
		select
		<include refid="Base_Column_List" />
		from qf_user
	</select>

	<!-- id对应方法名;parameterType,对应方法的传入的属性类型 -->
	<insert id="insertUser" parameterType="com.zqf.bean.entity.QuUser">
		insert into qf_user
		(user_id, user_name, user_password, user_role)
		values
		(#{id},#{name},#{password},#{role})
	</insert>

</mapper

2.6在SqlMapConfig文件中注册QuUserMapper.xml

<!DOCTYPE configuration 
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<configuration>
    <!-- 和spring整合后 enviroments配置废除 -->
    <enviroments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理-->
            <transactionManager type="JDBC" />
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driverClass" value="com.mysql.jdbc.Driver"/>
		<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/qf_work?useUnicode=true&characterEncoding=utf-8"/>
		<property name="user" value="root}"/>
		<property name="password" value="root}"/>
	    <dataSource>
	 </environment>
     </enviroments>
     
      <!-- 对应Bean类的xml配置文件的路径信息 -->
     <mappers>
         <mapper resource="mybatis/QuUserMapper.xml" />
     <mappers>
     
</configuration>


0

收藏
分享