如何使用MyBatis

一、准备阶段

    a、下载MyBatis相应jar包:https://github.com/mybatis/mybatis-3/releases

    b、创建Java工程,导入MyBatis jar包(mybatis-3.4.4.jar)和数据库驱动包

    c、创建user_info表并添加数据

例:

create table user_info(
  id char(36) primary key,
  user_name varchar(15) unique,
  password  varchar(15) not null
)
insert into user_info (id, user_name, password)
values ('3ddcf637-15a8-49d9-a378-b3fa2f2f9c65', 'Aimee', '1983_2560x');
insert into user_info (id, user_name, password)
values ('7eb9deed-ec87-416e-abb3-1a5a2ce819de', 'Cassie', 'xm@560_lq');

二、使用阶段

常用(推荐)使用方式:

  1、在com.jd.test包创建Test类,代码如下:

package com.jd.test;

import com.jd.area.IAreaDao;
import com.jd.person.IPersonDao;
import com.jd.vo.Area;
import com.jd.vo.Person;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class Test {

    public static void main(String[] args) {
        try{
            //加载全局配置文件
            InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
            //SqlSession对象表示一次数据库链接
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
            SqlSession sqlSession = factory.openSession(true);//true自动提交,false手动提交,默认为false
            //从SqlSession获取接口实现类
            IAreaDao areaDao = sqlSession.getMapper(com.jd.area.IAreaDao.class);
            sqlSession.close();
        }catch(Exception e){
            e.printStackTrace();
        }


    }
}

 

  2、在config包创建名为mybatis-config.xml的xlm文件,代码如下:

<?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="development">
		<!-- 配置数据库连接信息 -->
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://127.0.0.1:3306/test" />
				<property name="username" value="root" />
				<property name="password" value="root" />
			</dataSource>
		</environment>
	</environments>
	<!-- 注册Mapper xml文件 -->
	<mappers>
		<mapper resource="./config/UserInfoMapper.xml" />
	</mappers>
</configuration>

3、在config包创建名为UserInfoMapper.xml的xlm文件,代码如下:

<?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">
<!-- namespace:必须为接口的全类名 -->
<mapper namespace="com.lq.userinfo.IUserInfoDao">
<!-- id:接口中定义的抽象方法名;resultType:返回值类型 -->
	<select id="selectUserNameById" resultType="java.lang.String">
		<!-- #{id}:从传递过来的参数中取出id值 -->
		select user_name from user_info where id = #{id}
	</select>
</mapper>

 说明:这种方法不仅实现了SQL语句的分离,而且弥补了其他方法的不足,所以推荐使用这种MyBatis使用方式。

 

 

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页