在介绍开发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的方法的更多相关文章

  1. MyBatis学习--mybatis开发dao的方法

    简介 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法. 主要概念介绍: MyBatis中进行Dao开发时候有几个重要的类,它们是SqlSessionFac ...

  2. 四 mybatis开发dao的方法

    mybatis开发dao的方法 1.1     SqlSession使用范围 1.1.1     SqlSessionFactoryBuilder //以流的方式读取总的配置文件 Reader rea ...

  3. mybatis由浅入深day01_5mybatis开发dao的方法(5.1SqlSession使用范围_5.2原始dao开发方法)

    5 mybatis开发dao的方法 5.1 SqlSession使用范围 5.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂 ...

  4. 02_mybatis开发dao的方法

    MyBatis开发dao的方法 1. SqlSession使用范围 1.1 SqlSessionFactoryBuilder ​ 通过SqlSessionFactoryBuilder创建会话工厂Sql ...

  5. mybatis学习记录二——mybatis开发dao的方法

    4.1     SqlSession使用范围 4.1.1     SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSession ...

  6. Mybatis学习记录(二)----mybatis开发dao的方法

    1  SqlSession使用范围 1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory 将Sq ...

  7. mybatis系列-04-mybatis开发dao的方法

    4.1     SqlSession使用范围 4.1.1     SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSession ...

  8. mybatis开发dao的方法——(三)

    ------------------------1.    SqlSession使用范围------------------- 1.1     SqlSessionFactoryBuilder 通过S ...

  9. Mybatis 开发 dao 的方法

    1.分析SqlSession使用范围 1.1.SqlSessionFactoryBuilder 通过 SqlSessionFactoryBuilder 创建会话工厂 SqlSessionFactory ...

随机推荐

  1. 根据包名字符串跳转Activity

    /** * 跳转到对应activity */ public void toActivity(Context context,String fullName) { if (className != nu ...

  2. HBase数据模型剖析

    出处:http://wuyudong.com/1987.html HBase 进行数据建模的方式和你熟悉的关系型数据库有些不同.关系型数据库围绕表.列和数据类型——数据的形态使用严格的规则.遵守这些严 ...

  3. IOS客户端Coding项目记录(五)

    1:统一修改导航栏的样式,在 AppDelegate.m中 - (BOOL)application:(UIApplication *)application didFinishLaunchingWit ...

  4. 错误:找不到类org.springframework.web.context.ContextLoaderListener

    严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis ...

  5. Objective-C之集合对象的内存管理

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  6. css中font-family的中文字体

    说到css中的font-family,相信很多朋友经常用,但不知道当你遇到引用中文字体的时候你会怎么写?最近特别关注了下,发现最常用的基本有三种类型: 1.直接中文: 2.英文形式: 3.unicod ...

  7. (传输层)UDP协议

    目录 数据单位特点具体实现要求UDP首部格式发送UDP请求的客户端图释 数据单位 UDP 传送的数据单位协议是 UDP 报文或用户数据报 特点 UDP 是无连接的,即发送数据之前不需要建立连接 UDP ...

  8. Effective Java 43 Return empty arrays or collections, not nulls

    Feature Return empty arrays or collection Return nulls Avoids the expense of allocating the array N ...

  9. Swing应用开发实战系列之四:组件内容实时刷新问题

    窗口组件动态刷新问题,在dotnet中根本不算什么问题,用几句代码很轻松就能搞定,但是在Swing中,实现动态刷新组件内容却是一件颇为吃力的事情.譬如针对我们经常用到的刷新JLable.JTextFi ...

  10. 清空select内容

    select1.options.length= 0 ; 清空 <ul id="ul"> <li>111</li> <li>111&l ...