简介: MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普
简介: MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java对象)映射成数据库中的记录。
使用步骤:
1、首先,导入包: 导入mybatis和其三方的jar包,还有 数据库的 驱动包;
2、然后,写mybatis。xml配置文件: @、在类根目录创建mybatis.xml文件,里面的内容是这样子滴:
(里面需要更改的就是,连接的数据库要素,还有最后的sql映射的配置文件,下一点就说明)
<code class="language-xml"><?xml version="1.0" encoding="UTF-8" ?><code class="language-xml"><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"<code class="language-xml">"http://mybatis.org/dtd/mybatis-3-config.dtd"><code class="language-xml"><code class="language-xml"><code class="language-xml"><!---ecms -ecms 这个是po类的设置 这样不必在sql中写po类的全限定名 --><code class="language-xml"> <code class="language-xml"><code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <!---ecms -ecms sql 映射文件 这个是对应的配置文件 这个配置文件和dao里面的接口类联系 --><code class="language-xml"> <code class="language-xml"> <code class="language-xml"></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code>
3、接着,创建dao和对应xml sql映射文件:
@、 创建一个接口,里面就是一个或多个方法:比如像这样:
(这个里面就是各种方法,sql语句是放在映射的xml文件里面的,当然这个参数和返回类型是会面)
<code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml">public interface PhotoDao {<code class="language-xml"> public void savePhoto(Photo photo);<code class="language-xml"> public Photo getPhotoById(int id); <code class="language-xml"> public Photo findPhotoByName(String name,int uid); <code class="language-xml">// public Photo findPhotoByName2(Map v); <code class="language-xml"> public Photo findPhotoByName2(Photo photo); <code class="language-xml"> public List findPhotos();<code class="language-xml">} </code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code>
@、 创建于类名相同的xml,像这样PhotoDao.xml 里面的配置是这样的:
<code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><code class="language-xml"><?xml version="1.0" encoding="UTF-8" ?><code class="language-xml"><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"<code class="language-xml">"http://mybatis.org/dtd/mybatis-3-mapper.dtd"><code class="language-xml"><code class="language-xml"> <!---ecms -ecms Id :dao中的方法名字 parameterType:方法中传参的类型 --><code class="language-xml"> <!---ecms -ecms name 代表方法中第一个参数的name属性值 --><code class="language-xml"> insert into t_photo (name,uploadDate) values (#{name},#{uploadDate})<code class="language-xml"> <code class="language-xml"> <!---ecms -ecms java中基本数据类型和string 都不需指定类型 parameterType="int" 不要--><code class="language-xml"> <!---ecms -ecms dsfsfs 代表方法中第一个参数的值 --><code class="language-xml"> select * from t_photo where id=#{dsfsfs}<code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <!---ecms -ecms #{和方法中参数的名字无关} {表示第n个参数的值或者其属性的值,或者其key的值}--><code class="language-xml"> <!---ecms -ecms {}可以使用下标表示n --><code class="language-xml"> select * from t_photo where name=#{0} and uid=#{1}<code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <!---ecms -ecms {}: map中的key --><code class="language-xml"> select * from t_photo where name=#{name} and uid=#{uid}<code class="language-xml"> <code class="language-xml"> <code class="language-xml"> <!---ecms -ecms resultType表示sql语句执行之后返回的数据类型 --><code class="language-xml"> <code class="language-xml"> select * from t_photo<code class="language-xml"> <code class="language-xml"></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code>
(解释上面的东东: 绿色:id= 对应的方法名;
蓝色:parameterType 参数的类型 特殊类必学写
黄色:sql 的 语句 (里面的#{参数类属性名} 或 #{0,1.。。}下标 来使用参数的数据)
粉色:resultType = 返回类型 )
然后这里有一个多表查询,返回list