SSM框架实现增删改查

我是从:先写实体类,再写mapper的接口,再写mapper.xml文件,在写测试类,测试dao层的sql语句是否正确,在写service的接口serviImpl,再写service的实现类service,在写controller,最后写jsp页面.

第一步:导包需要用到的SSM框架的包和配置文件.(自行解决,这个都会写吧)

第二步:mapper接口

//添加
 void insertUser(User user);
 //查询所有
 List<User> selectUser();
 //根据id查
 User selectById(Integer id);
 //删除
 void deleteById(Integer id);
 //修改
 void updateUser(User user);

第三步:mapper.xml文件

<!-- 插入数据 -->
 <insert id="insertUser" parameterType="cn.tedu.user.entity.User">
  insert into user(
  id,name,age,address
  )values(
  #{id},#{name},#{age},#{address}
  )
 </insert>

 <!-- 查询所有 -->
 <select id="selectUser" resultType="cn.tedu.user.entity.User">
  select * from user
 </select>

 <select id="selectById" resultType="cn.tedu.user.entity.User">
  select
  id,name,age,address
  from
  user
  where
  id=#{id}
 </select>

 <delete id="deleteById" parameterType="cn.tedu.user.entity.User">
  delete from user
  where
  id=#{id}
 </delete>

 <update id="updateUser" parameterType="cn.tedu.user.entity.User">
  update
  user
  set
  id=#{id},
  name=#{name},
  age=#{age},
  address=#{address}
  where
  id=#{id}
 </update>

第四步:测试mapper层sql语句

private ApplicationContext ac;
 @Before
 public void init(){
  ac = new ClassPathXmlApplicationContext(
    "spring-dao.xml",
    "spring-service.xml",
    "spring-mvc.xml");
 }

//插入数据 持久层
 @Test
 public void insert(){
  UserDao userDao = ac.getBean("userDao",UserDao.class);
  User user = new User();
  user.setName("小明");
  user.setAge(13);
  user.setAddress("湖北省张家界");
  userDao.insertUser(user);
  System.out.println("持久层插入成功");
 }
//查询所有  持久层
 @Test
 public void testSelectUser(){
  UserDao userDao = ac.getBean("userDao",UserDao.class);
  System.out.println(userDao.selectUser());
 }

//根据id查询持久层
 @Test
 public void testSelectById(){
  UserDao um = ac.getBean("userDao",UserDao.class);
  System.out.println(um.selectById(1).getName());
 }

//删除持久层
 @Test
 public void testDeleteById(){
  UserDao cm = ac.getBean("userDao",
    UserDao.class);
  cm.deleteById(3);
  System.out.println("持久层删除成功");
 }

//测试修改  持久层
 @Test
 public void testUpdate(){
  UserDao userDao = ac.getBean("userDao",
    UserDao.class);
  User user = new User();
  user.setId(1);
  user.setName("王晓华");
  user.setAge(45);
  user.setAddress("河南省");
  userDao.updateUser(user);
  System.out.println("持久层修改成功");
 }

第五步:serviceImpl接口

//添加用户信息
 void addUser(User user);
 //查询所有用户信息
 List<User> selectUser();
 //根据id查询
 User getUserById(Integer id);
 //根据id删除
 void deleteUserById(Integer id);
 //修改用户信息
 void updateUser(Integer id,String name,Integer age,String address);

第六步:service实现类(需要实现serviceImpl接口)

@Resource
 private UserDao userDao;
 //业务层添加用户
 public void addUser(User user) {
  userDao.insertUser(user);
 }
 //查询所有信息
 public List<User> selectUser() {
  return userDao.selectUser();
 }
 //根据id查询信息
 public User getUserById(Integer id) {
  return userDao.selectById(id);
 }
 //根据id删除
 public void deleteUserById(Integer id) {
  userDao.deleteById(id);
 }
 //修改
 public void updateUser(Integer id, String name, Integer age, String address) {
  User user = new User();
  user.setId(id);
  user.setName(name);
  user.setAge(age);
  user.setAddress(address);
  userDao.updateUser(user);
 }

第七步:controller层

@Resource
 private UserServiceImpl userService;


 //根据showAdd.do路径访问add.jsp(增加页面)
 @RequestMapping("/showAdd.do")
 public String showAdd() {
  return "add";
 }


 //添加用户
 @RequestMapping("/addUser.do")
 public String addUser(String name,String address,Integer age){
  User user = new User();
  user.setName(name);
  user.setAddress(address);
  user.setAge(age);
  userService.addUser(user);
  return "redirect:showUser.do";
 }
 
 //查询所有信息
 /*@RequestMapping("/showUser.do")
 public String showUser(ModelMap map,ServletResponse response) {
  //设置编码,
  response.setCharacterEncoding("UTF-8");
  List<User> userList = userService.selectUser();
  map.addAttribute("userList",userList);
  return "index";
 }*/


 //删除用户
 @RequestMapping("/deleteUserById.do")
 public String deleteById(Integer id,ModelMap map){
  userService.deleteUserById(id);
  return "redirect:showUser.do";
 }
 //修改
 @RequestMapping("/updateUser.do")
 public String updateUser(
   Integer id,String name,
   Integer age,String address){
   userService.updateUser(id, name, age, address);
   //控制台输出id name age address
   System.out.println(id);
   System.out.println(name);
   System.out.println(age);
   System.out.println(address);
  return "redirect:showUser.do";
 }
 //根据id查找用户
 @RequestMapping("/getUserById.do") 
    public String getUserById(Integer id,ModelMap map){
        map.addAttribute("user", userService.getUserById(id)); 
        return "updateUser";
    }
 页面在这就不写了,数据库在这也不写了,根据自己的业务需求写jsp页面和数据库字段名.

如果有不理解的可以发邮件到[email protected](备注CSDN博客)谢谢大家!
 



猜你喜欢

转载自blog.csdn.net/MiniPang123_/article/details/80621220
今日推荐