一、整合需要
1.1、方法
上一章中的数据
需要sPRing通过单例方式管理SqlsessionFactory
spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession
(spring和mybatis整合自动完成)
持久层的mapper都需要由spring进行管理
二、创建项目整合环境
2.1、创建项目
2.2、数据
db.properties
#数据库配置信息
#驱动
driverClass=com.MySQL.jdbc.Driver
#连接url
jdbcUrl=jdbc:mysql://localhost:3306/mybatis?character=utf8#用户名
user=root
#密码
passWord=root
#连接池中保留的最小连接数
minPoolSize=10#连接池中保留的最大连接数。Default: 15 maxPoolSize=20#最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 maxIdletime=1800#当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3acquireIncrement=3#连接池中初始化连接数 应在minPoolSize与maxPoolSize之间取值。默认为3
initialPoolSize=15
2.3、confinguration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
2.4 POJO类与接口
package com.pb.ssm.po;import java.util.Date;/**
*
* @ClassName: Author
* @Description: TODO(作者)
* @author 刘楠
* @date 2015-10-31 下午12:39:33
* */public class Author { //作者id
private Integer authorId; //作者姓名
private String authorUserName; //作者密码
private String authorPassword; //作者邮箱
private String authorEmail; //作者介绍
private String authroBio; //注册时间
private Date registerTime;
public Integer getAuthorId() { return authorId;
} public void setAuthorId(Integer authorId) { this.authorId = authorId;
} public String getAuthorUserName() { return authorUserName;
} public void setAuthorUserName(String authorUserName) { this.authorUserName = authorUserName;
} public String getAuthorPassword() { return authorPassword;
} public void setAuthorPassword(String authorPassword) { this.authorPassword = authorPassword;
} public String getAuthorEmail() { return authorEmail;
} public void setAuthorEmail(String authorEmail) { this.authorEmail = authorEmail;
} public String getAuthroBio() { return authroBio;
} public void setAuthroBio(String authroBio) { this.authroBio = authroBio;
} public Date getRegisterTime() { return registerTime;
} public void setRegisterTime(Date registerTime) { this.registerTime = registerTime;
}
@Override public String toString() { return "Author [authorId=" + authorId + ", authorUserName="
+ authorUserName + ", authorPassword=" + authorPassword + ", authorEmail=" + authorEmail + ", authroBio=" + authroBio + ", registerTime=" + registerTime + "]";
}
}
接口
package com.pb.ssm.mapper;import com.pb.ssm.po.Author;public interface AuthorMapper { /**
*
* @Title: findAuthorById
* @Description: TODO(根据id查找)
* @param @param id
* @param @return 设定文件
* @return Author 返回类型
* @throws
*/
public Author findAuthorById(int id);
/**
*
* @Title: addAuthor
* @Description: TODO(添加)
* @param @param author
* @param @return 设定文件
* @return int 返回类型
* @throws
*/
public int addAuthor(Author author); /**
*
* @Title: updateAuthor
* @Description: TODO(更新)
* @param @param author
* @param @return 设定文件
* @return int 返回类型
* @throws
*/
public int updateAuthor(Author author);
/**
* 删除
* @Title: delteAuthor
* @Description: TODO(根据ID删除)
* @param @param id
* @param @return 设定文件
* @return int 返回类型
* @throws
*/
public int delteAuthor(int id);
}
mapper.xml
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
三、使用Mybatis配置文件.xml整合
3.1、写applicationContext.xml
3.2、测试
package com.pb.ssm.mapper;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Before;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.pb.ssm.po.Author;public class AuthorMapperTest { private ApplicationContext applicationContext;
@Before public void setUp() throws Exception {
applicationContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");
}
@Test public void testFindAuthorById() {
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");
Author author = authorMapper.findAuthorById(2);
System.out.println(author);
}
@Test public void testAddAuthor() { // 获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");
Author author=new Author();
author.setAuthorUserName("程序猿");
author.setAuthorPassword("QWERdlfdad");
author.setAuthorEmail("QWER@QQ.com");
int num = authorMapper.addAuthor(author);
System.out.println("num="+num);
System.out.println("添加后的ID:"+author.getAuthorId());
}
@Test public void testUpdateAuthor() { // 获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");
Author author = authorMapper.findAuthorById(13);
author.setAuthroBio("天天写代码");
author.setAuthorUserName("码农"); int num=authorMapper.updateAuthor(author);
System.out.println("num="+num);
System.out.println(author);
}
@Test public void testDeleteAuthor() { // 获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper"); int num= authorMapper.delteAuthor(13);
}
}
四、不使用mybatis配置文件
4.1、写ApplicationContext.xml
更改Mapper.xml,因为不能使用别名,所以type要写POJO类的全路径
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
测试类同上
以上就是MyBatis入门(六)---mybatis与spring的整合的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!