我们在上一次中搭建了基本的框架spring+springMVC,今天我们继续将mybatis的框架搭建一下。
主要任务:配置框架,创建包、类,测试。
1、添加配置
(1)在applicationContext.xml中添加mybatis配置。
<!-- 配置 MyBatis的工厂 -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource" />
<!-- 配置MyBatis的核心配置文件所在位置 -->
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
<!-- 接口开发,扫描 com.lf.dao包 ,写在此包下的接口即可被扫描到 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lf.dao" />
</bean>
(2)创建一个名为mybatis-config.xml文件。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 别名定义,自动将报下面的类命名别名,首字母小写 -->
<typeAliases>
<package name="com.lf.model" />
</typeAliases>
</configuration>
以上两步完成,那么我们的mybatis就配置好了,接下来我们就要链接我们的MySQL数据库,当然也可以用SQL,改相应的jar包与链接数据库的代码即可,这里我使用MySQL来进行实验。
2、创建包
(1)在src下创建一个dao包,其中包含UserDao.java和UserDao.xml两个文件。
①首先是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">
<!-- 命名空间,xml文件和dao接口对应起来 -->
<mapper namespace="com.lf.dao.UserDao">
<!--查询列表 -->
<select id="list" parameterType="user" resultType="user">
select * from user
<where>
<if test="username!=null and username!=''">
and username = #{username}
</if>
<if test="pwd!=null and pwd!=''">
and pwd = #{pwd}
</if>
</where>
</select>
</mapper>
②UserDao类
package com.lf.dao;
import java.util.List;
import com.lf.model.User;
public interface UserDao {
public List<User> list(User user);
}
(2)在src下面创建service包,其中包含一个接口UserService.java和一个类UserServiceImpl.java。
①接口UserService
package com.lf.service;
import java.util.List;
import com.lf.model.User;
public interface UserService {
public List<User> list(User user);
}
②类UserServiceImpl
package com.lf.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.lf.dao.UserDao;
import com.lf.model.User;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> list(User user) {
return userDao.list(user);
}
}
(3)在src下面创建model包,类User
package com.lf.model;
public class User {
private Integer id;
private String username;
private String pwd;
private String realname;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getRealname() {
return realname;
}
public void setRealname(String realname) {
this.realname = realname;
}
}
3、添加相关方法。
在我们完成了以上操作,那么我们就要在controller下调用一下方法,实验一下。
@Autowired
private UserService userService;
// http://localhost:8080/shop/user/list.do?username=lf&pwd=666
@ResponseBody
@RequestMapping("/list.do")
public List<User> list(User user){
return userService.list(user);
}
4、创建数据库。
此部分就是创建一个user表,包含id,username,pwd,realname,并添加数据即可。
5、测试。
运行之后,在地址栏输入http://localhost:8080/shop/user/list.do?username=lf&pwd=666,其中lf与666这两个是你创建数据库后添加的数据。
就先到这里。