第3.113课 上课 MyBatis3介绍, JDBC访问数据库, MyBatis…

3_113

MyBatis3 介绍

 JDBC访问数据库

 MyBatis3访问数据库

MyBatis 本是apache的一个开源项目iBatis,是一个数据持久层(ORM)框架。

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。

MyBatis是一个对JDBC进行轻量级封装的持久层框架,它可以帮我们简化的JDBC操作,包括获取数据库连接、设置参数、处理结果集、事务管理等等。通过XML配置或注解,可非常方便的实现原本复杂的数据库操作。

 

 

 

 

 

中文文档

http://www.mybatis.org/mybatis-3/zh/getting-started.html

 MyBatis3框架作用概述

  简化数据库连接操作

   SqlSessionFactory封装数据源DataSource

  简化数据库CRUD操作

   利用数据访问接口与sql映射文件完成所有的持久化操作

   利用数据访问对象(类型别名)进行两个方面的数据封装

    sql语句的占位符设值传递

    ResultSet结果集的转换

  简化事务操作

 下载与解压

下载地址: https://github.com/mybatis/mybatis-3/releases

  mybatis-3.*.zip

 第一个HelloWorld程序

  复制jar包

  创建mybatis-config.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>

 

<!-- 配置MyBatis3的环境 -->

<environments default="env">

<!-- 配置一个环境 -->

<environment id="env">

<!-- 配置事务管理器 JDBC(有事务)、MANAGED(托管)-->

<transactionManager type="JDBC"/>

<!-- 配置数据源 JNDI(web服务器方式定义数据源)、POOLED(自带连接池)、UNPOOLED(不带连接池) -->

<dataSource type="POOLED">

<!-- 连接数据库驱动 -->

<property name="driver" value="com.mysql.jdbc.Driver"/>

<!-- 连接数据库URL -->

<property name="url" value="jdbc:mysql://localhost:3306/mybatis_db"/>

<!-- 连接数据库用户名 -->

<property name="username" value="root"/>

<!-- 连接数据库密码 -->

<property name="password" value="root"/>

</dataSource>

</environment>

</environments>

 

<!-- 配置XxxMapper.xml访问数据库SQL文件 -->

<mappers>

<mapper resource="com/yayadou/domain/ProvinceMapper.xml"/>

</mappers>

 

</configuration>

   放在src目录下

  创建XxxMapper.xml文件定义访问数据表的sql语句

<?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">

<!-- 定义访问数据表的SQL映射标签

namespace : 命名空间(用来区分其它的mapper文件),一般为该文件所在的全路径包名+mapper文件名

-->

<mapper namespace="com.yayadou.domain.ProvinceMapper">

<!-- 添加

id : 唯一的标识

parameterType : 参数类型(用来为sql语句中的占位符赋值) 可选

-->

<insert id="save" parameterType="com.yayadou.domain.Province">

insert into province(name) values(#{name})

</insert>

</mapper>

  创建SqlSessionFactory

   new SqlSessionFactoryBuilder().build(inputStream);

  创建SqlSession

   sqlSessionFactory.openSession();

  创建数据传输类(类型别名与数据库表进行关联)

   配置数据传输类中的属性与表中的列要进行关联

    默认关联(属性名与列名一致)

    手动配置关联(需要XxxMapper.xml文件中)

  调用SqlSession中的方法执行相应的数据库的操作

posted on 2018-01-31 23:35  東風★破  阅读(183)  评论(0)    收藏  举报

导航