Mybatis框架

发布时间:   来源:文档文库   
字号:
Mybatis框架
1.序的三层结构

(表示层

业务层servicezhuanzhang(

数据访问层dao

Jdbc:完成数据库访问


Jdbc访问数据库的分析:
优点:操作数据库的时候速度快。
缺点:整个操作数据库过程一直需要重复,将重复的代码的进行封装(只开发
一次),提高开发效率
1加载驱动2获取连接3定义sql语句4预编译5占位符赋值6发送,执行7结果处理
1,2:解决使用连接池4:单独封装处理
6,7:处理为一个java的对象(将通过orm进行实现)
3,5:不硬编码到java文件中,单独提供一个配置文件,当执行的时候,去配置文件中读取相应的数据

2mybatis数据访问框架

完成对jdbc的封装,实现数据访问层的功能,完成数据库的crud操作
2.1mybatis基础开发的介绍
2.1.1下载jar准备开发环境(3.2.8
2.1.2在项目的src目录下,新建log4j.properties
#Globalloggingconfiguration
#指定在控制打印相应的框架执行的信息
#日志级别:DEBUG,INFO,ERROR,WARNlog4j.rootLogger=DEBUG,INFO,stdout#MyBatisloggingconfiguration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE#Consoleoutput...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p[%t]-%m%n
2.1.3建立mybatis的全局配置文件




<configuration>

<environmentsdefault="mybatisDeve">
<environmentid="mybatisDeve">
<transactionManagertype="JDBC">transactionManager><dataSourcetype="POOLED">
<propertyname="driver"value="com.mysql.jdbc.Driver"/><propertyname="url"



value="jdbc:mysql://localhost:3306/testdb?characterEncoding=utf8"/>


<propertyname="username"value="root"/><propertyname="password"value="root"/>

dataSource>



environment>
environments>

"User.xml"/>

configuration>
2.1.4建立mybatis操作数据的映射文件

<mappernamespace="test">
<insertid="insertUser"parameterType="com.bjsxt.pojo.User">
insertintouservalues(null,#{uname},#{upwd}


2.1.5建立pojo

User.java
2.1.6建立数据访问对象
Dao
DaoImpl:
publicvoidsaveUser(Useruser{
//TODOAuto-generatedmethodstub

//1创建SqlSessionFactoryBuilder对象,加载mybatis主配置文件
SqlSessionFactoryBuilderssfb=newSqlSessionFactoryBuilder(;

//2通过加载配置文件,获得SqlSessionFactory工厂对象
SqlSessionFactoryssf

=ssfb.build(UserDaoImpl.class.getClassLoader(.getResourceAsStream("SqlMapConfig.xml";
//3通过SqlSessionFactory工厂对象,创建SqlSession
SqlSessionsession=ssf.openSession(;



//4执行数据库的crud操作
session.insert("test.insertUser",user;



session.commit(;

//5关闭session对象
session.close(;


}

2.1.7测试保存



3占位符参数
#{xxx}Xxx:
情况一:参数类型为基本类型或者Stringxxx是可以任意写,一般和dao方法传入的形参名一样
情况二:当参数的类型为包装类型的时候,xxx必须是对应的包装类型的属性
${xxx}
$:进行连接操作
情况一:参数类型为基本类型或者Stringxxx只能写value
情况二:当参数的类型为包装类型的时候,xxx必须是对应的包装类型的属性
4输入参数和输出参数(参考文档)
paramterType:java的基本类型,包装类型,集合
resultType:java的基本类型,包装类型
5mybatisdao层开发的两种模式
模式一:传统的开发模式(1定义接口,2定义实现类)模式二:通过mybatis的动态代理实现


开发步骤
1定义映射文件UserMapper.xml
Namespace:属性,必须写定义的dao接口的完全限定名

<mappernamespace="com.bjsxt.dao.UserDao">
<selectid="selUserAll"resultType="com.bjsxt.pojo.User">
select*fromuser
select>
mapper>
2定义抽象接口
UserDao.java
3产生抽象接口的代理对象//产生UserDao,接口的代理对象
SqlSessionsession=ssf.openSession(;
//dao:给UserDao接口实现类的对象(UserDao接口的代理对象UserDaodao=session.getMapper(UserDao.class;
//执行数据的查询操作
Listlist=dao.selUserAll(;
System.out.println(list;


5定义别名
简化代码结构
作业:建立表
用户名(uid,uname,upwd
消息表(mid,sendUid,receUid,conent,date,status
---1完成用户登录
---2用户登录之后可以进行2.1查看自己的短消息列表2.2单击某条短消息,阅读消息2.3修改消息状态2.4删除短消息2.5回复短消息
登录页面







消息列表页面





张三_已读_asdfghjklkjhgf

张三_已读_asdfghjklkjhgf






阅读页面
来自:张三内容:
FdsafdsafdsDsfdsfdsdsfds
Dsf第三方第三方
时间:----回复删除
回复页面:接受者:zhangsan


本文来源:https://www.2haoxitong.net/k/doc/9608864784254b35eefd3498.html

《Mybatis框架.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式