线上实训day03(三)——整合MyBatis和SpringMVC

1.导入相关的包

2、添加数据库连接参数文件db.properties

3、添加Spring配置文件applicationContext.xml

<!-- 读取properties文件 -->
	<util:properties id="dbConfig" location="classpath:db.properties"></util:properties>

<!-- 配置DBCP所需要的Bean -->
	<!--各个Property中name以类中的set方法为准 -->
	<bean id="ds" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="#{dbConfig.driver}"></property>
		<property name="url" value="#{dbConfig.url}"></property>
		<property name="username" value="#{dbConfig.user}"></property>
		<property name="password" value="#{dbConfig.password}"></property>
		<property name="initialSize" value="#{dbConfig.initsize}"></property>
		<property name="maxActive" value="#{dbConfig.maxsize}"></property>
	</bean>

    <!-- 利用myBatis-spring配置sqlSessionFactory, FactoryBean是工厂Bean,自动创建SqlSessionFacotry类的对象,
所以配置SqlSessionFactoryBean,但返回的对象类型是SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="ds"></property>
		<property name="mapperLocations" value="classpath:mapping/*.xml"></property>
</bean>

<!-- MyBatis-spring提供一个mapping(dao接口),会自动扫描,自动找到全部的mapping接口, 并且为每个接口创建一个对象,
并且将对象作为Bean放在spring容器中:举例:IUserDao接口,就会自动创建一个Bean到Spring容器中,其中Bean id自动设置为IUserDao -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
		<!--basePackage设置mapper(dao)的扫描位置 -->
		<property name="basePackage" value="cn.tedu.mybatis.dao"></property>
	</bean>

4.创建测试类,测试有参数查询数据

import java.util.List;

import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.tedu.mybatis.bean.User;
import cn.tedu.mybatis.dao.IUserDao;

public class Test {
	ClassPathXmlApplicationContext ctx;

	public void init() {
		ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
	}

	/**
	 * 测试管理的SqlSessionFactory对象
	 */
	public void testSqlSessionFactory() {
		SqlSessionFactory session = ctx.getBean("sqlSessionFactory",
				SqlSessionFactory.class);
		System.out.println(session);
	}

	/**
	 * 测试IUserDao是否可用
	 */
	public void testIUserDao() {

		IUserDao dao = ctx.getBean("IUserDao", IUserDao.class);
		List<User> list = dao.findAllUser();
		for (User user : list) {
			System.out.println(user);
		}
	}

	public static void main(String[] args) {
		Test test = new Test();
		test.init();
		test.testSqlSessionFactory();
		test.testIUserDao();

	}
}

运行测试:

补充:

1.SqlSessionFactory是个单个数据库映射关系经过编译后的内存镜像。SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得,而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例.每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心.同时SqlSessionFactory也是线程安全的,SqlSessionFactory一旦被创建,应该在应用执行期间都存在.在应用运行期间不要重复创建多次,建议使用单例模式.SqlSessionFactory是创建SqlSession的工厂.

2.SqlSession是执行持久化操作的独享,类似于JDBC中的Connection。SqlSession对象完全包含以数据库为背景的所有执行SQL操作的方法,它的底层封装了JDBC连接,可以用SqlSession实例来直接执行被映射的SQL语句.每个线程都应该有它自己的SqlSession实例.SqlSession的实例不能被共享,同时SqlSession也是线程不安全的,需要关闭。

原文链接:https://blog.csdn.net/u013412772/article/details/73648537

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
疫情居家办公系统管理系统按照操作主体分为管理员和用户。管理员的功能包括办公设备管理、部门信息管理、字典管理、公告信息管理、请假信息管理、签到信息管理、留言管理、外出报备管理、薪资管理、用户管理、公司资料管理、管理员管理。用户的功能等。该系统采用了MySQL数据库,Java语言,Spring Boot框架等技术进行编程实现。 疫情居家办公系统管理系统可以提高疫情居家办公系统信息管理问题的解决效率,优化疫情居家办公系统信息处理流程,保证疫情居家办公系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理疫情居家办公系统信息,包括外出报备管理,培训管理,签到管理,薪资管理等,可以管理公告。 外出报备管理界面,管理员在外出报备管理界面中可以对界面中显示,可以对外出报备信息的外出报备状态进行查看,可以添加新的外出报备信息等。签到管理界面,管理员在签到管理界面中查看签到种类信息,签到描述信息,新增签到信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值