MyBatis+Spring的整合

该博客介绍了Spring与MyBatis项目的配置与实现。包括Spring配置文件实现数据库连接和SqlSessionFactory建立,MyBatis配置文件进行缓存等参数配置,编写mapper映射文件,创建Java实现类和测试类。还分享了运行时的心得,如Spring配置文件连接数据库的参数写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、spring配置文件

功能:实现与数据库的连接,完成SqlSessionFactory的建立
文件内容:
a.加载配置文件

<context:property-placeholder location="classpath:db.properties"/>

b.数据源,使用DBCP

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destory-method="close">
	<property name="driverClassName" value="${jdbc.driver}"/>
	<property name="url" value="${jdbc.url}"/>
	<property name="username" value="${jdbc.username}"/>
	<property name="password" value="${jdbc.password}"/>
	<property name="maxActive" value="10"/>  //最大数据库连接数量
	<property name="maxIdle" value="5"/>     //最大等待连接的数量
</bean>

c.sqlSessionFactory

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<!--加载MyBatis的配置文件-->
	<property name="configLocation" value="mybatis/SqlMapConfig.xml"/>
	<!--数据源-->
	<property name="dataSource" ref="dataSource"/>
</bean>

2、MyBatis配置文件

由于在spring的配置文件中有了数据源的信息,所以在这里就只是一些缓存的setting的参数配置、typeAliases别名定义、各种Mapper映射文件的加载。

3、编写mapper映射文件(sql语句)

<mapper namespace="test">
	<select id="findUserById" parameterType="int" resultType="user">
		select * from user where id=#{id}
	</select>
</mapper>

4、java实现文件类

(1)User类

public class User implements Serializable{
	private int id;
	private String username;
	private String password;
	...
}

(2)编写DAO层(进行数据库的交互)
UserDao接口:

public interface UserDao{
	public User findUserById(int id) throws Exception;
}

UserDaoImpl实现类:

public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao{
	public User findUserById(int id) throws Exception{
		SqlSession sqlSession = this.getSqlSession();
		User user = sqlSession.selectOne("test.findUser",id);
		return user;
	}
}

如果UserDaoImpl类要成功获取SqlSessionFactory对象,还需要在Spring配置文件中添加UserDao 的bean配置。

//原始的Dao接口
<bean id="userDao" class="cn.com.sm.dao.UserDaoImpl">
	<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

5、测试的java类

public class UserTest throws Exception{
	private ApplicationContext ac;
	ac = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml")
	
	UserDao userDao=(UserDao)ac.getBean("userDao");
	User user = userDao.findUserById(1);
	System.out.print(user);
}

心得:一开始运行的时候很多错误,最大的就是spring 的配置文件连接数据库的必须使用jdbc.url等,不能是单独的url,所以在db.properties里面的也要写成类似jdbc.username=root这种。
db.properties:

jdbc.driver=org.gjt.mm.mysql.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_test?characterEncoding=utf-8
jdbc.username=root
jdbc.password=sql2008
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值