11Mybatis_mybatis开发Dao的方法
在介绍开发Dao的方法之前先介绍下SqlSession。
1.先介绍一下SqlSessionFactoryBuilder:通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory
将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessionFactoryBuilder。
在需要创建SqlSessionFactory时候,只需要new一次SqlSessionFactoryBuilder即可。
2.再介绍一下SqlSessionFactory:
通过SqlSessionFactory创建SqlSession,使用单例模式管理sqlSessionFactory(工厂一旦创建,使用一个实例)。将来mybatis和spring整合后,使用单例模式管理sqlSessionFactory。
3.最后重点介绍一下sqlSession:
sqlSession的诞生过程是这样的:我们先用SqlSessionFactoryBuilder创建一个SqlSessionFactory。然后再通过SqlSessionFactory创建一个SqlSession.
SqlSession是一个面向用户(程序员)的接口。
SqlSession中提供了很多操作数据库的方法:如:selectOne(返回单个对象)、selectList(返回单个或多个对象)、。
SqlSession是线程不安全的,在SqlSesion实现类中除了有接口中的方法(操作数据库的方法)还有数据域属性。
SqlSession最佳应用场合在方法体内,定义成局部变量使用。
现在我们来介绍原始Dao开发的方法(程序员需要写dao接口以及dao的实现类):
思路:、
程序员需要写dao接口和dao实现类。
需要向dao实现类中注入SqlSessionFactory,在方法体内通过SqlSessionFactory创建SqlSession
案例如下:
先给出案例的结构图:
aaarticlea/png;base64,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" alt="" />
第一步:先写po包下面的Uer实体类:
package cn.itcast.mybatis.po; import java.util.Date; public class User {
private int id;//主键
private String username;//用户的名称
private Date birthday;//生日
private String sex;//性别
private String address;//地址
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
} }
第二步:编写SqlMapConfig.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>
<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理-->
<transactionManager type="JDBC" />
<!-- 数据库连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybaits?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments> <!-- 把映射文件(sqlmap/user.xml)加载进sqlMapConfig.xml-->
<mappers>
<mapper resource="sqlmap/user.xml"/>
</mappers> </configuration>
第三步:编写user.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">
<!-- nanmespace:命名空间。 作用就是对sql进行分类话管理,理解Sal分离 注意:使用mapper代理方式,namespace有特殊重要的作用
--> <mapper namespace="test"> <!-- 根据id获取用户信息 -->
<!-- 在映射文件中配置很多sql语句 -->
<!--
id:标识映射文件中的sql;
将sql语句封装到mappedStatement对象中,所以将id称为statement的id;parmenterType:指定输入的参数的类型,这里指定的int型
#{}表示一个占位符号;
#{id}:其中的id表示接收输入的参数,参数名称就是id,如果输入参数就是简单类型,#{}中的参数名可以任意,可以value或其它名称
resultType:指定的sql输出结果的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象; -->
<select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">
select * from user where id = #{id}
</select>
<!-- 自定义条件查询用户列表
resultType指的是单条记录所映射的java类型,不管查询的是多条还是单条
-->
<select id="findUserByUsername" parameterType="java.lang.String"
resultType="cn.itcast.mybatis.po.User">
select * from user where username like '%${value}%'
</select>
<!--
添加用户:
partmentType:指定输入参数类型是pojo(包括用户的信息)
#{}中指定pojo的属性名,接收到pojo对象的属性值 -->
<insert id="insertuser" parameterType="cn.itcast.mybatis.po.User"> <!--
将插入的数据主键返回,返回到user对象中去。
SELECT LAST_INSERT_ID():得到刚insert进去的记录的主键值,
这个方法只适用于自增长的主键。
KeyProperty:将查询得到的主键值设置到paramaterType指定的对象的哪个属性。
order:SELECT LAST_INSERT_ID()执行的顺序。相对于insert语句来说它的执行顺序。
resultType:指定SELECT LAST_INSERT_ID()的结果类型
-->
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> SELECT LAST_INSERT_ID()
</selectKey> <!-- 以上的代码是为了实现返回主键的功能 -->
insert into user(username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address})
</insert> <!-- 删除用户 -->
<delete id="deleteUser" parameterType="java.lang.Integer">
delete from user where id=#{id} </delete>
<!-- 更新用户 -->
<update id="updetaUser" parameterType="cn.itcast.mybatis.po.User">
update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address}
where id=#{id} </update> </mapper>
第四步:编写UserDao.java
package cn.itcast.mybatis.Dao; import cn.itcast.mybatis.po.User; public interface UserDao {
//查找用户
public User findUserById(int id);
//增加用户
public void insertUser(User user); }
第五步:编写UserDao的实现类UserDaoimpl.java
package cn.itcast.mybatis.Dao; import java.util.Date; import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory; import cn.itcast.mybatis.po.User; public class UserDaoimpl implements UserDao {
private SqlSessionFactory sqlSessionFactory;
public UserDaoimpl(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory=sqlSessionFactory;
}
@Override
public User findUserById(int id) {
SqlSession sqlSession=sqlSessionFactory.openSession();
User user=sqlSession.selectOne("test.findUserById", id);
return user;
} @Override
public void insertUser(User user) {
SqlSession sqlSession=sqlSessionFactory.openSession(); sqlSession.insert("test.insertuser", user);
sqlSession.commit();
sqlSession.close();
} }
第六步:编写Mybatis_daotest.java
package cn.itcast.mybatis.first; import java.io.IOException;
import java.io.InputStream; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test; import cn.itcast.mybatis.Dao.UserDao;
import cn.itcast.mybatis.Dao.UserDaoimpl;
import cn.itcast.mybatis.po.User; public class Mybatis_daotest {
//会话工厂
private SqlSessionFactory sqlSessionFactory;
@Before
public void setup() throws IOException
{ String resource="SqlMapConfig.xml";
InputStream inputStream=Resources.getResourceAsStream(resource);
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream); }
@Test
public void testDao()
{ UserDao userDao=new UserDaoimpl(sqlSessionFactory);
User user=userDao.findUserById(29);
System.out.println(user.getUsername()); }
}
结果:输出王王;运行结果正确。
上面是Dao的开发,但是存在一些问题,我们来总结一下原始dao开发问题。
1、dao接口实现类方法中存在大量模板方法,设想能否将这些代码提取出来,大大减轻程序员的工作量。
比如这些代码都要重复去写:
sqlSession.commit();
sqlSession.close();
2、调用sqlsession方法时将statement的id硬编码了
User user=sqlSession.selectOne("test.findUserById", id);
3、调用sqlsession方法时传入的变量,由于sqlsession方法使用泛型,即使变量类型传入错误,在编译阶段也不报错,不利于程序员开发。
比如User user=sqlSession.selectOne("test.findUserById", id);我这么写也是可以的User user=sqlSession.selectOne("test.findUserById", new Object());
因为这些问题,我们接下来要学习mapper代理的方法
11Mybatis_mybatis开发Dao的方法的更多相关文章
- MyBatis学习--mybatis开发dao的方法
简介 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法. 主要概念介绍: MyBatis中进行Dao开发时候有几个重要的类,它们是SqlSessionFac ...
- 四 mybatis开发dao的方法
mybatis开发dao的方法 1.1 SqlSession使用范围 1.1.1 SqlSessionFactoryBuilder //以流的方式读取总的配置文件 Reader rea ...
- mybatis由浅入深day01_5mybatis开发dao的方法(5.1SqlSession使用范围_5.2原始dao开发方法)
5 mybatis开发dao的方法 5.1 SqlSession使用范围 5.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂 ...
- 02_mybatis开发dao的方法
MyBatis开发dao的方法 1. SqlSession使用范围 1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂Sql ...
- mybatis学习记录二——mybatis开发dao的方法
4.1 SqlSession使用范围 4.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSession ...
- Mybatis学习记录(二)----mybatis开发dao的方法
1 SqlSession使用范围 1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory 将Sq ...
- mybatis系列-04-mybatis开发dao的方法
4.1 SqlSession使用范围 4.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSession ...
- mybatis开发dao的方法——(三)
------------------------1. SqlSession使用范围------------------- 1.1 SqlSessionFactoryBuilder 通过S ...
- Mybatis 开发 dao 的方法
1.分析SqlSession使用范围 1.1.SqlSessionFactoryBuilder 通过 SqlSessionFactoryBuilder 创建会话工厂 SqlSessionFactory ...
随机推荐
- 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程
原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...
- Android项目结构分析
andriod项目目录结构如下图: 1. src目录 该目录一个普通的保存java源文件的目录,其和普通java工程中的src目录是一样的. 2. gen目录 此目录用于存放所有由ADT插件自动生成的 ...
- GCD中的dispatch_set_target_queue的用法及作用
(一),使用dispatch_set_target_queue更改Dispatch Queue的执行优先级 dispatch_queue_create函数生成的DisPatch Queue不管是Ser ...
- UVa 112 - Tree Summing(树的各路径求和,递归)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- iOS 应用架构浅谈
当我们讨论客户端应用架构的时候,我们在讨论什么? 其实市面上大部分应用不外乎就是颠过来倒过去地做以下这些事情: 简单来说就是调API,展示页面,然后跳转到别的地方再调API,再展示页面. App确实就 ...
- jquery.qrcode.js 插件生成二维码
下载地址:https://github.com/jeromeetienne/jquery-qrcode 例子: <!doctype html> <html> <head& ...
- c# 进程间通信 IPC
最近在调试一个算法,想通过改变算法的参数看看结果有什么变化. 碰到一个麻烦的事情是,从磁盘加载.构建数据需要15分钟.这就比较讨厌了,也就是说我每次调一个参数前都要等15分钟启动时间? 于是我就想,能 ...
- jquery-qrcode生成二维码
一.jquery-qrcode jquery-qrcode是一个为浏览器生成二维码的jquery插件.我们很容易将它集成到我们的应用.该插件也可以独立使用,也比较小.它是直接在客户端生成二维码生成.所 ...
- java常用开发工具类之 图片水印,文字水印,缩放,补白工具类
import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
- Java + eclipse + awt 编写锻炼打字小软件(未完成)
进入前界面: import java.awt.*; public class Welcome extends JFrame implements Runnable{ Thread t; private ...