惯例:
我是温浩然:
最近在研究如果在srping mvc的项目中引入mybatis.
下面是我的理解,可能不对,希望各位理解。
mybatis是对SQL进行操作的。我的项目在没有引mybatis时,是直接通过JDBC连接数据库,直接通过写死的SQL语句来继续操作的。
我参考的文档,网址如下。
http://haohaoxuexi.iteye.com/blog/1843309?utm_source=tuicool
我说说改的地方。
1、首先说,pom.xml。因为我的项目是通过Maven管理的,所以,对jar包什么的管理都特别方便。
下面是pom.xml中的mybatis代码。
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.0</version>
</dependency>
如果需要下载jar包,地址如下: jar包地址:http://download.csdn.net/detail/u012246342/8902459 ,亲,免积分哦。
2、更改applicatonContext.xml文件。
代码如下。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="TuserMaster" />
<property name="typeAliasesPackage" value="com.tujia.tuuser.entity" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.tujia.*.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
因为我的项目配置比较简单,所以,我就说我配置的这些了。name = dataSource
这个很简单,就是数据源。ref是数据连接bean的ID。name = typeAliasesPackage
这个是,配置实体类,javaBean.的位置。name = basePackage
这个是配置,设置的mapper接口所在的位置。我这里省略了很多配置,详细的可以看我参考的网址。
在这里,我可以稍微的总结一下,在applicationContext.xml中,主要是配置mybatis的三个地方,1、数据库连接,2、mapper.java mapper.xm位置,3、实体类的位置。
3、第三部需要做的,就是实现方法了。
项目中,有controller.有service来实现controller中的需求,在没有mybatis,用dao来实现数据的操作,实现service的方法。
现在,就是用mapper来实现service的方法了。
下面贴代码。
下面是serviceImpl,类
@Service("userService")
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Override
public List<User> listUser() {
return userMapper.list();
}
}
再下面,是mapper.java中的代码。
package com.tujia.tuuser.mapper;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Component;
import com.tujia.tuuser.entity.User;
@Component("userMapper")
public interface UserMapper {
List<User> list();
}
再就是mybatis的关键部分了。mapper.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="com.tujia.tuuser.mapper.UserMapper">
<select id="list" resultType="User">
select * from user order by id
</select>
</mapper>
这里面的<select id ="这个ID是方法名"> 这里的ID,是mapper.java的方法名。 resultType是返回类型。会给你自动封装的。
OK,就这些了。
转载于:https://my.oschina.net/wswhr/blog/709893