Spring3整合Mybatis

//@Alias("User") 
//设置别名,默认是类名
public class User {

	private int id;
	private String name;
	private Date birthday;
	private double salary;

	//getter and setter

}

dao

/**
 * 使用Mybatis实现持久层只要定义    Dao接口和xxxmapper.xml文件   就可以了,不需要编写实现类 
 * @author Monday
 * @date 2013-9-5 上午11:57:51
 * @version 1.0
 */
public interface UserMapper {

	void save(User user);

	void update(User user);

	void delete(int id);

	User findById(int id);

	List<User> findAll();
}

  

xxxMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.monmday.springmybatis.mappers.UserMapper">

	<resultMap type="User" id="userResult">
		<result column="user_id" property="id"/>
		<result column="user_name" property="name"/>
		<result column="user_birthday" property="birthday"/>
		<result column="user_salary" property="salary"/>
	</resultMap>

	<!-- 取得插入数据后的id -->
	<!-- 方式1 -->
	<!-- 
	<insert id="save">
		insert into t_user(user_name,user_birthday,user_salary)
		values(#{name},#{birthday},#{salary})
		<selectKey keyProperty="id" resultType="int">
			select last_insert_id() as id
		</selectKey>
	</insert>
	 -->

	<!-- 方式2 -->
	<insert id="save" keyColumn="user_id" keyProperty="id" useGeneratedKeys="true">
		insert into t_user(user_name,user_birthday,user_salary)
		values(#{name},#{birthday},#{salary})
	</insert>

	<update id="update">
		update t_user
		set user_name = #{name},
			user_birthday = #{birthday},
			user_salary = #{salary}
		where user_id = #{id}
	</update>
	
	<delete id="delete">
		delete from t_user
		where user_id = #{id}
	</delete>

	<select id="findById" resultMap="userResult">
		select *
		from t_user
		where user_id = #{id}
	</select>
	
	<select id="findAll" resultMap="userResult">
		select * 
		from t_user
	</select>

</mapper>

下面是Spring3整合Mybatis的配置。

下面的配置只是方式之一,算是比较简介的配置吧。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.2.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

	<!-- 属性文件 -->
	<context:property-placeholder location="jdbc.properties"  />

	<!-- 数据源 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
		p:driverClassName="${jdbc.driverClassName}"
		p:url="${jdbc.url}"
		p:username="${jdbc.username}"
		p:password="${jdbc.password}"/>

	<!-- sqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
		p:dataSource-ref="dataSource"
		p:typeAliasesPackage="org.monmday.springmybatis.domian"/>

	<!-- 配置要扫描的xxxMapper.xml -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
		p:basePackage="org.monmday.springmybatis.mappers"
		p:sqlSessionFactoryBeanName="sqlSessionFactory"/> 


	<!-- 事务管理 -->
	<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
		p:dataSource-ref="dataSource"/> 
	<tx:annotation-driven transaction-manager="txManager" />
	
</beans>

 测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/beans.xml")
public class Main {

	@Autowired
	private UserMapper userMapper;

	@Test
	public void save() {
		User user = new User();
		user.setBirthday(new Date());
		user.setName("marry");
		user.setSalary(300);
		userMapper.save(user);
		System.out.println(user.getId());
	}

	@Test
	public void update() {
		User user = userMapper.findById(2);
		user.setSalary(2000);
		userMapper.update(user);
	}

	@Test
	public void delete() {
		userMapper.delete(3);
	}

	@Test
	public void findById() {
		User user = userMapper.findById(1);
		System.out.println(user);
	}

	@Test
	public void findAll() {
		List<User> users = userMapper.findAll();
		System.out.println(users);
	}
}

  

其他代码在附件中。

  

猜你喜欢

转载自1194867672-qq-com.iteye.com/blog/1584711