mybatis的知识点总结(2)在接口与实现类的代码实现
2018-01-25 21:17
405 查看
第一步:定义接口与实现类
public class UserInterfaceImpl
implements UserInterface
{
private SqlSession
sqlSession;
public UserInterfaceImpl(SqlSession
sqlSession) {
this.sqlSession =
sqlSession;
}
@Override
public User
getUserById(Integer id)
{
User
user =
sqlSession.selectOne("getUserById",
id);
sqlSession.close();
return user;
}
@Override
public List<User>
getUserByAddress(String address)
{
List<User>
selectList =
sqlSession.selectList("getUserByAddress",
address);
sqlSession.close();
return selectList;
}
@Override
public void insertUser(User
user) {
sqlSession.insert("insertUser",
user);
sqlSession.commit();
sqlSession.close();
}
@Override
public void updateUser(User
user) {
sqlSession.update("updateUser",
user);
sqlSession.commit();
sqlSession.close();
}
}
第二步;测试用例
public class UserInterfaceTest
{
private SqlSessionFactoryBuilder
builder;
private SqlSessionFactory
sqlSessionFactory;
private SqlSession
sqlSession;
@Before
public void init()
throws IOException{
//第一步:获取我们的SqlSessionFactoryBuilder
builder =
new SqlSessionFactoryBuilder();
//第二步:通过SqlSessionFactoryBuilder
调用build
来获取我们的SqlSessionFactory
sqlSessionFactory =
builder.build(Resources.getResourceAsStream("SqlMapConfig.xml"));
//第三步:通过我们的SqlSessionFactory
来获取我们的sqlSession
sqlSession =
sqlSessionFactory.openSession();
}
/**
*
通过id来进行查询
*
@throws Exception
*/
@Test
public void getUserById()
throws Exception
{
//接口指向实现类,通过构造器,传入sqlSession
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
User
userById =
userInterface.getUserById(29);
System.out.println(userById.toString());
}
/**
*
通过地址来进行模糊查询
*/
@Test
public void getUserByAddress()
throws Exception
{
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
List<User>
userList =
userInterface.getUserByAddress("河南");
for (User
user :
userList) {
System.out.println(user.toString());
}
}
/**
*
插入用户
*
@throws Exception
*/
@Test
public void insertUser()
throws Exception
{
User
user =
new User();
user.setAddress("河北");
user.setBirthday(new Date());
user.setSex("0");
user.setUsername("按住啦baby");
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
userInterface.insertUser(user);
}
@Test
public void updateUser()
throws Exception
{
User
user =
new User();
user.setId(30);
user.setAddress("内蒙");
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
userInterface.updateUser(user);
}
}
public class UserInterfaceImpl
implements UserInterface
{
private SqlSession
sqlSession;
public UserInterfaceImpl(SqlSession
sqlSession) {
this.sqlSession =
sqlSession;
}
@Override
public User
getUserById(Integer id)
{
User
user =
sqlSession.selectOne("getUserById",
id);
sqlSession.close();
return user;
}
@Override
public List<User>
getUserByAddress(String address)
{
List<User>
selectList =
sqlSession.selectList("getUserByAddress",
address);
sqlSession.close();
return selectList;
}
@Override
public void insertUser(User
user) {
sqlSession.insert("insertUser",
user);
sqlSession.commit();
sqlSession.close();
}
@Override
public void updateUser(User
user) {
sqlSession.update("updateUser",
user);
sqlSession.commit();
sqlSession.close();
}
}
第二步;测试用例
public class UserInterfaceTest
{
private SqlSessionFactoryBuilder
builder;
private SqlSessionFactory
sqlSessionFactory;
private SqlSession
sqlSession;
@Before
public void init()
throws IOException{
//第一步:获取我们的SqlSessionFactoryBuilder
builder =
new SqlSessionFactoryBuilder();
//第二步:通过SqlSessionFactoryBuilder
调用build
来获取我们的SqlSessionFactory
sqlSessionFactory =
builder.build(Resources.getResourceAsStream("SqlMapConfig.xml"));
//第三步:通过我们的SqlSessionFactory
来获取我们的sqlSession
sqlSession =
sqlSessionFactory.openSession();
}
/**
*
通过id来进行查询
*
@throws Exception
*/
@Test
public void getUserById()
throws Exception
{
//接口指向实现类,通过构造器,传入sqlSession
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
User
userById =
userInterface.getUserById(29);
System.out.println(userById.toString());
}
/**
*
通过地址来进行模糊查询
*/
@Test
public void getUserByAddress()
throws Exception
{
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
List<User>
userList =
userInterface.getUserByAddress("河南");
for (User
user :
userList) {
System.out.println(user.toString());
}
}
/**
*
插入用户
*
@throws Exception
*/
@Test
public void insertUser()
throws Exception
{
User
user =
new User();
user.setAddress("河北");
user.setBirthday(new Date());
user.setSex("0");
user.setUsername("按住啦baby");
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
userInterface.insertUser(user);
}
@Test
public void updateUser()
throws Exception
{
User
user =
new User();
user.setId(30);
user.setAddress("内蒙");
UserInterface
userInterface =
new UserInterfaceImpl(sqlSession);
userInterface.updateUser(user);
}
}
相关文章推荐
- mybatis知识点总结(3)关于接口的代码
- Mybatis逆向工程的pojo实现序列化接口代码
- Mybatis逆向工程的pojo实现序列化接口的代码
- Mybatis总结2使用动态代理 实现接口
- css+div实现圆角矩形代码总结
- [导入]修改VS2008代码重构模板简化接口属性成员实现
- 网页刷新代码-刷新页面实现方式总结篇
- 动态实现接口 代码
- C#+AE实现类似IDentify功能及对高亮显示相关接口的总结
- SP 短信开发-PROVISION接口实现-正向订购实例代码
- Essential C++ 第一章,猜数代码分析ch1_main.cpp + 知识点总结
- 网页刷新代码-刷新页面实现方式总结篇
- commons.logging1.1.1源代码研究(3)-- 日志器Log接口,SimpleLog实现
- 接口模式 - 1.1 适配器模式 --代码实现(C#)
- 纯作业代码——Java实现接口、继承
- C#.NET示例读写xml所有节点的代码实现方法和读取xml节点的数据总结
- SP 短信开发-PROVISION接口实现-反向取消实例代码
- .NET Romoting 学习总结(三)—— Remoting技术之设计模式实现代码安全
- 网页生成图片代码 IViewObject接口实现
- SP 短信开发-PROVISION接口实现-正向订购实例代码