mybatis学习笔记1Word文件下载.docx
- 文档编号:18265346
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:27
- 大小:23.71KB
mybatis学习笔记1Word文件下载.docx
《mybatis学习笔记1Word文件下载.docx》由会员分享,可在线阅读,更多相关《mybatis学习笔记1Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)
4)jdbc/dbutils/springdao,hibernate/springorm,mybaits同属于ORM解决方案之一
第四章mybatis快速入门
1)创建一个mybatis-day01这么一个javaweb工程或java工程
2)导入mybatis和mysql/oracle的jar包到/WEB-INF/lib目录下
3)创建students.sql表
--mysql语法
createtablestudents(
idint(5)primarykey,
namevarchar(10),
saldouble(8,2)
);
--oracle语法
idnumber(5)primarykey,
namevarchar2(10),
salnumber(8,2)
4)创建Student.java
/**
*学生
*@authorAdminTC
*/
publicclassStudent{
privateIntegerid;
privateStringname;
privateDoublesal;
publicStudent(){}
publicIntegergetId(){
returnid;
}
publicvoidsetId(Integerid){
this.id=id;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicDoublegetSal(){
returnsal;
publicvoidsetSal(Doublesal){
this.sal=sal;
}
5)在entity目录下创建StudentMapper.xml配置文件
<
?
xmlversion="
1.0"
encoding="
UTF-8"
?
>
!
DOCTYPEmapperPUBLIC"
-//mybatis.org//DTDMapper3.0//EN"
"
http:
//mybatis.org/dtd/mybatis-3-mapper.dtd"
mappernamespace="
mynamespace"
<
insertid="
add1"
insertintostudents(id,name,sal)values(1,'
哈哈'
7000)
/insert>
add2"
parameterType="
cn.itcast.javaee.mybatis.app05.Student"
insertintostudents(id,name,sal)values(#{id},#{name},#{sal})
/mapper>
6)在src目录下创建mybatis.xml配置文件
DOCTYPEconfigurationPUBLIC"
-//mybatis.org//DTDConfig3.0//EN"
//mybatis.org/dtd/mybatis-3-config.dtd"
configuration>
environmentsdefault="
development"
<
environmentid="
<
transactionManagertype="
JDBC"
/>
dataSourcetype="
POOLED"
<
propertyname="
driver"
value="
com.mysql.jdbc.Driver"
url"
jdbc:
mysql:
//127.0.0.1:
3306/mybatis"
username"
root"
password"
/dataSource>
/environment>
/environments>
mappers>
mapperresource="
cn/itcast/javaee/mybatis/app05/StudentMapper.xml"
/mappers>
/configuration>
7)在util目录下创建MyBatisUtil.java类,并测试与数据库是否能连接
*MyBatis工具类
publicclassMyBatisUtil{
privatestaticThreadLocal<
SqlSession>
threadLocal=newThreadLocal<
();
privatestaticSqlSessionFactorysqlSessionFactory;
static{
try{
Readerreader=Resources.getResourceAsReader("
mybatis.xml"
sqlSessionFactory=newSqlSessionFactoryBuilder().build(reader);
}catch(IOExceptione){
e.printStackTrace();
thrownewRuntimeException(e);
}
privateMyBatisUtil(){}
publicstaticSqlSessiongetSqlSession(){
SqlSessionsqlSession=threadLocal.get();
if(sqlSession==null){
sqlSession=sqlSessionFactory.openSession();
threadLocal.set(sqlSession);
returnsqlSession;
publicstaticvoidcloseSqlSession(){
if(sqlSession!
=null){
sqlSession.close();
threadLocal.remove();
publicstaticvoidmain(String[]args){
Connectionconn=MyBatisUtil.getSqlSession().getConnection();
System.out.println(conn!
=null?
连接成功"
:
连接失败"
8)在dao目录下创建StudentDao.java类并测试
*持久层
publicclassStudentDao{
/**
*增加学生(无参)
publicvoidadd1()throwsException{
SqlSessionsqlSession=MyBatisUtil.getSqlSession();
try{
sqlSession.insert("
mynamespace.add1"
}catch(Exceptione){
sqlSession.rollback();
throwe;
}finally{
sqlSmit();
MyBatisUtil.closeSqlSession();
*增加学生(有参)
publicvoidadd2(Studentstudent)throwsException{
mynamespace.add2"
student);
publicstaticvoidmain(String[]args)throwsException{
StudentDaodao=newStudentDao();
dao.add1();
dao.add2(newStudent(2,"
呵呵"
8000D));
第五章mybatis工作流程
1)通过Reader对象读取src目录下的mybatis.xml配置文件(该文本的位置和名字可任意)
2)通过SqlSessionFactoryBuilder对象创建SqlSessionFactory对象
3)从当前线程中获取SqlSession对象
4)事务开始,在mybatis中默认
5)通过SqlSession对象读取StudentMapper.xml映射文件中的操作编号,从而读取sql语句
6)事务提交,必写
7)关闭SqlSession对象,并且分开当前线程与SqlSession对象,让GC尽早回收
第六章mybatis配置文件祥解(mybatis.xml)
1)以下是StudentMapper.xml文件,提倡放在与实体同目录下,文件名任意
第七章mybatis映射文件祥解(StudentMapper.xml)
1)以下是mybatis.xml文件,提倡放在src目录下,文件名任意
第八章MybatisUtil工具类的作用
1)在静态初始化块中加载mybatis配置文件和StudentMapper.xml文件一次
2)使用ThreadLocal对象让当前线程与SqlSession对象绑定在一起
3)获取当前线程中的SqlSession对象,如果没有的话,从SqlSessionFactory对象中获取SqlSession对象
4)获取当前线程中的SqlSession对象,再将其关闭,释放其占用的资源
第九章基于MybatisUtil工具类,完成CURD操作
1)StudentDao.java
*增加学生
publicvoidadd(Studentstudent)throwsException{
mynamespace.add"
MyBatisUtil.closeSqlSession();
*修改学生
publicvoidupdate(Studentstudent)throwsException{
sqlSession.update("
mynamespace.update"
*查询单个学生
publicStudentfindById(intid)throwsException{
Studentstudent=sqlSession.selectOne("
mynamespace.findById"
id);
returnstudent;
*查询多个学生
publicList<
Student>
findAll()throwsException{
returnsqlSession.selectList("
mynamespace.findAll"
*删除学生
publicvoiddelete(Studentstudent)throwsException{
sqlSession.delete("
mynamespace.delete"
2)StudentMapper.xml
add"
cn.itcast.javaee.mybatis.app09.Student"
insertintostudents(id,name,sal)values(#{id},#{nam
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mybatis 学习 笔记