MyBatis的基本用法

MyBatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

jar包和配置

1.jar包必须包含mybatis(我用的mybatis-3.4.6.jar)还有数据库链接jar包(我用的mysql-connector-java-5.1.27.jar)。
2.创建全局配置文件(随便取名:mybatis-config.xml),该文件的作用是用来对mybatis进行整体设置,并且配置连接数据库的数据源(DateSoure)。

<?xml version="1.0" encoding="UTF-8"?>
<!-- 这里的config表示这个配置文件是mybatis的整体配置文件 -->
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置数据库的参数从哪里读取 -->
<properties resource="db.properties"/>
<!-- 设置数据类型别名 -->
<typeAliases>
	<typeAlias type="com.xj.dao.User" alias="user"/>
</typeAliases>
	<!-- 数据库连接环境配置 -->
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <!-- 连接映射配置 -->
  <mappers>
  		<mapper resource="com/xj/dao/IUserdao.xml"/>
  </mappers>
</configuration>


3.创建映射配置文件(取名IUserdao),并且在全局配置文件中连接此映射文件。

<?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.xj.dao.IUserDao">
	<!-- id必须和接口声明的方法一致 -->
	<select id="query" resultType="user">
		select * from t_user 
	</select>
	<insert id="add" parameterType="user">
		insert into t_user(no,name,age) values(#{no},#{name},#{age}) 
	</insert>
	<update id="update" parameterType="user">
		update t_user set name=#{name},age=#{age} where no = #{no} 
	</update>
	<delete id="delete" parameterType="int">
		delete from t_user where no = #{no} 
	</delete>
</mapper>

4.创建数据配置文件(db.properties),并且在全局配置文件(mybatis-config.xml)引用。

#数据库配置

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
username=root
password=619238

测试

@Test
	public void test() throws Exception {
		//1.通过resources对象加载全局配置文件
		InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
		//2.通过加载后配置文件获取sqlsessionFactory
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
		//3.通过sqlsessionFactory获取sqlsession对象,true表示开启事务自动提交,默认是false。
		SqlSession session = factory.openSession(true);
		User user = new User();
		//4.session中的方法全是映射配置文件中namespace配置好的
		List<User> list = session.selectList("xj.query", user);
		System.out.println("查询:"+list);
		int insert = session.insert("xj.add", new User(1009, "赵四", 39));
		System.out.println("插入:"+insert);
		int update = session.update("xj.update", new User(1009, "王五", 29));
		System.out.println("修改:"+update);
		int delete = session.delete("xj.delete",1005);
		System.out.println("删除:"+delete);
		//5.关闭数据链接
		session.close();
	}

测试结果:
在这里插入图片描述

posted @ 2019-07-11 20:21  不生产bug只搬运bug  阅读(160)  评论(0编辑  收藏  举报