使用步骤:
Controller类 ---> Service接口(serviceImpl实现Service接口类)-->DAO接口(DaoImpl实现DAO接口类)-->Mapper接口(通过Mybatis实现接口方法)。
Controller类:
package com.cuboo.controller;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.cuboo.entity.User;
import com.cuboo.service.JsonService;
/**
*
* @author cuboo
* 返回Json数据
*
*/
@Controller
public class JsonController {
@Resource
JsonService service;
@ResponseBody
@RequestMapping("/getJson")
public User getUserInfo(){
User user = new User();
user.setPassword("123456789");
user.setUsername("jsondataset");
return user;
}
@RequestMapping("/getUserJson")
@ResponseBody
public User getUser(@RequestParam String getusername){
User user = new User();
try {
user = service.getInfoByName(getusername);
} catch (Exception e) {
e.printStackTrace();
}
return user;
}
@RequestMapping("/getAllUserJson")
@ResponseBody
public List<User> getAllUser() {
return service.getAllUser();
}
@RequestMapping("/addUser")
@ResponseBody
public String addUsers(@RequestParam int id,@RequestParam String getusername
,@RequestParam String getpassword){
service.addoneUser(id,getusername,getpassword);
return "添加成功";
}
@RequestMapping("/deleteUser")
@ResponseBody
public String delUserById(int id) {
service.delUserById(id);
return "删除成功";
}
@RequestMapping("/updateUser")
@ResponseBody
public String updateById(@RequestParam int id,@RequestParam String getpassword) {
service.updateUserById(id,getpassword);
return "更新完成";
}
}
Service接口(serviceImpl实现Service接口类):
package com.cuboo.service;
import java.util.List;
import com.cuboo.entity.User;
public interface JsonService {
public User getInfoByName(String username) throws Exception;
public List<User> getAllUser();
public void addoneUser(int id,String getusername,String getpassword);
public void delUserById(int id);
public void updateUserById(int id,String password);
}
package com.cuboo.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import com.cuboo.dao.UserDao;
import com.cuboo.entity.User;
@Service
public class JsonServiceImpl implements JsonService{
@Resource
UserDao dao;
@Override
public User getInfoByName(String username) throws Exception {
User user = dao.getInfoByUserName(username);
if (user == null) {
throw new Exception("用户不存在!");
}
return user;
}
@Override
public List<User> getAllUser() {
return dao.getAllUserinfo();
}
@Override
public void addoneUser(int id,String getusername,String getpassword) {
User user = new User();
user.setId(id);
user.setUsername(getusername);
user.setPassword(getpassword);
dao.addUser(user);
}
@Override
public void delUserById(int id) {
dao.deleteUserById(id);
}
@Override
public void updateUserById(int id,String password) {
User user = new User();
user.setId(id);
user.setPassword(password);
dao.updateUserById(user);
}
}
package com.cuboo.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.cuboo.entity.User;
public interface UserDao {
public User getInfoByUserName(String username);
public List<User> getAllUserinfo();
public void addUser(User user);
public void deleteUserById(int id);
public void updateUserById(User user);
}
package com.cuboo.dao;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Repository;
import com.cuboo.entity.User;
import com.cuboo.mapper.UserMapper;
@Repository
public class UserDaoImpl implements UserDao{
@Resource
UserMapper mapper;
@Override
public User getInfoByUserName(String username) {
return mapper.getInfoByUserName(username);
}
@Override
public List<User> getAllUserinfo() {
return mapper.getAllUserinfo();
}
@Override
public void addUser(User user) {
mapper.addUser(user);
}
@Override
public void deleteUserById(int id) {
mapper.deleteUserById(id);
}
@Override
public void updateUserById(User user) {
mapper.updateUserById(user);
}
}
Mapper接口(通过Mybatis实现接口方法):
package com.cuboo.mapper;
public interface BaseMapper {
}
package com.cuboo.mapper;
import java.util.List;
import com.cuboo.entity.User;
public interface UserMapper extends BaseMapper{
public User getInfoByUserName(String username);
public List<User> getAllUserinfo();
public void addUser(User user);
public void deleteUserById(int id);
public void updateUserById(User user);
}
其中用到的实体类:
package com.cuboo.entity;
import java.io.Serializable;
public class User implements Serializable {
/**
*
*/
private static final long serialVersionUID = 8261353151151101737L;
private Integer id;
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
Mybatis对mapper接口的实现
<?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">
<!-- 映射DAO/Mapper接口 -->
<mapper namespace="com.cuboo.mapper.UserMapper" >
<!-- List的返回类型设置 -->
<!-- mybatis的config.xim 配置实体类映射 的alias-->
<resultMap id="UserResultMap" type="User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
<!-- id dao接口的方法名 parameterType、resultType 分别为dao中接口方法的参数何返回类型-->
<select id="getInfoByUserName" parameterType="String" resultType="User">
select * from t_user where username = #{username}
</select>
<select id="getAllUserinfo" resultType="UserResultMap">
select * from t_user
</select>
<insert id="addUser" parameterType="User">
insert into t_user(id,username,password)
values (#{id},#{username},#{password})
</insert>
<delete id="deleteUserById" parameterType="int" >
delete from t_user where id = #{id}
</delete>
<update id="updateUserById" parameterType="User">
update t_user set password = #{password}
where id = #{id}
</update>
<!-- <update id="updateUserById" parameterType="User">
update t_user set username = #{username},password = #{password}
where id = #{id}
</update> -->
</mapper>