Mybatis学习2传统dao开发
传统dao开发
在mybati基础上
dao和daoimpl
1.工厂工具类
获得SqlSessionFactory
SqlSessionFactoryUtil.java
package util; 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; public class SqlSessionFactoryUtil {
public static SqlSessionFactory sqlSessionFactory;
static {
try {
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
//2.配置核心文件输入流
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapperConfig.xml");
//通过输入流创建SqlSessionFactory
sqlSessionFactory = ssfb.build(resourceAsStream);
System.out.println("SqlSessionFactoryBuilder===========");
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
} }
接口
UserDao.java
package dao;
import java.util.List;
import pojo.User;
public interface UserDao {
User getUserBYId(Integer id);
List<User> getUSerByUserName(String userName);
}
实现
daoimpl
package dao.impl; import java.util.List; import org.apache.ibatis.session.SqlSession; import dao.UserDao;
import pojo.User;
import util.SqlSessionFactoryUtil; public class UserDaoImpl implements UserDao{ public User getUserBYId(Integer id) {
SqlSession openSession = SqlSessionFactoryUtil.getSqlSessionFactory().openSession();
User selectOne = openSession.selectOne("test.getUserById", 1);
// TODO Auto-generated method stub
return selectOne;
} public List<User> getUSerByUserName(String userName) {
// TODO Auto-generated method stub
return null;
} }
测试
package dao.impl;
import static org.junit.Assert.*;
import org.junit.Test;
import mapper.UserMapper;
import pojo.User;
public class UserDaoImplTest {
@Test
public void test() {
UserMapper userDao = new UserDaoImpl();
User user = userDao.getUserBYId(1);
System.out.println(user);
}
}
Mybatis学习2传统dao开发的更多相关文章
- Mybatis学习笔记(三) —— DAO开发方法
一.SqlSession的使用范围 SqlSession中封装了对数据库的操作,如:查询.插入.更新.删除等. SqlSession通过SqlSessionFactory创建. SqlSessionF ...
- 七 MyBatis整合Spring,DAO开发(传统DAO&动态代理DAO)
整合思路: 1.SQLSessionFactory对象应该放到Spring中作为单例存在 2.传统dao开发方式中,应该从Spring容器中获得SqlSession对象 3.Mapper代理行驶中,应 ...
- Mybatis-spring 传统dao开发
jdbc.properties jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis?chara ...
- 【转】Mybatis学习---MyBatis知识、原始Dao开发和mapper代理开发
[原文]https://www.toutiao.com/i6594610137560777223/ 一.什么是MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及 ...
- JAVA框架 Spring 和Mybatis整合(传统dao)
一:我们使用spring处理service,mybaits处理dao层. 二:导入jar包 pom.xml文件内容: <?xml version="1.0" encoding ...
- Mybatis学习(1)开发环境搭建
什么是mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML ...
- MyBatis学习04(注解开发)
7.使用注解开发 7.1 面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好 在一个面 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6869133.html 前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)——My ...
- spring和mybatis的整合开发(传统Dao开发方式)
spring和mybatis整合开发有三种整合方式1.传统DAO方式的开发整合(现在基本上不会用这种方式了,不推荐使用这种方式),2.mapper接口方式的开发整合(基于MapperFactoryBe ...
随机推荐
- docker-compose网络设置之networks
networks使用方式之官网教程 官网的docker-compose.yml参考文档:Compose file version 3 reference 较为准确的中文翻译版:Compose file ...
- windows defender和windows firewall
Windows defender: Windows Defender,曾用名Microsoft Anti Spyware,是一个杀毒程序,可以运行在Windows XP和Windows Server ...
- [蓝桥杯]ALGO-48.算法训练_关联矩阵
题目描述: 问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵. 输入格式 第一行两个整数n.m,表示图中结点和边的数目.n<=,m<=. 接下来m行,每行两个整数a.b,表示图中 ...
- C++进阶--处理拷贝赋值运算符中自赋值的情况
//############################################################################ /* * 处理拷贝赋值运算符=中自赋值的情 ...
- 【Graphite】使用dropwizard.metrics向Graphite中写入指标项数据
graphite 定时向Graphite中写入指标项数据,指标项模拟个数3000个 使用的类库 官方文档 dropwizard的github地址 Metric官方文档 metrics.dropwi ...
- HTTP/HLS/RTMP超级负载测试工具
这个负载测试工具是网游分享的工具,可以在http://blog.csdn.net/win_lin/article/details/11835011 或者https://github.com/winli ...
- 三星GT-N8010刷机教程
本刷机教程只针对三星GT-N8010机器(以下简称GT-N8010),以下操作本人已在GT-N8010机器上亲测,且都成功,其它机器没有测试不能保证成功. 刷机有风险,请谨慎使用!请先备份资料和信息. ...
- 【Web前端】清除css、javascript及背景图在浏览器中的缓存
在实际项目开发过过程中,页面是上传到服务器上的.而为了减少服务器的压力,让用户少加载,浏览器会将图片.css.js缓存到本地中,以便下次访问网站时使用.这样做不仅减少了服务器的压力,并且也减少了用户的 ...
- 运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型
运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型.方法/步骤 首先打开PowerDesigner,点击左上角“File”—>"Reverse Engine ...
- HDOJ 2001 ASCII码排序
#include<set> #include<iostream> using namespace std; int main() { char a, b, c; while ( ...