ssm框架搭建
今天的主要工作是搭建ssm框架,老师采取视频讲授的方式一步一步带我们搭建好了一个简单的运用ssm框架的网页程序。
工程的创建
以下是整个工程的结构:
创建工程需要导入很多包,这里就不展开讲解了。
编写bean和dao
这是User类的代码:
package com.zhongruan.bean;
//实体类,映射数据库字段
public class User{
//对属性的封装
private int id;
private String username;
private String password;
//get and set
//传值方式:User user = new User();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
//构造方法
//传值方式 User user = new User(1,"张三","1234");
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public User() {
}
//toString 方法重写
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
都是一些寻常的getset方法和构造方法
下面是dao的代码:
package com.zhongruan.dao;
import com.zhongruan.bean.User;
import java.util.List;
//UserDao -- 数据库交互层
public interface UserDao {
//查询全部 List<User> userlist = new ArrayList<>()
List<User> findAllUser();
int delUser(int id);
int addUser(User user);
}
dao的作用是定义接口,用于数据库的交互功能。这里只写了查询、增加、删除功能。修改功能明天再写。
编写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.zhongruan.dao.UserDao" >
<select id="findAllUser" resultType="com.zhongruan.bean.User">
select * from tb_user
</select>
<insert id="addUser" parameterType="com.zhongruan.bean.User">
insert into tb_user(id,username,password) value(#{id},#{username}, #{password})
</insert>
<delete id="delUser" parameterType="int">
delete from tb_user where id=#{id}
</delete>
</mapper>
可以看出xml语句中有执行增删改查的sql语句,由于我对整个框架的运行机制还不够理解,现在并不清楚mapper是如何运作的,只知道要往xml中写入上述格式的xml语句…照猫画虎
编写service层
service层主要是写两个文件,UserService和UserServiceImpl
UserService::
package com.zhongruan.service;
import com.zhongruan.bean.User;
import java.util.List;
public interface UserService {
int addUser(User user);
int delUser(int id);
List<User> findAllUser();
}
UserServiceImpl:
package com.zhongruan.service.impl;
import com.zhongruan.bean.User;
import com.zhongruan.dao.UserDao;
import com.zhongruan.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> findAllUser() {
return userDao.findAllUser();
}
@Override
public int addUser(User user){
return userDao.addUser(user);
}
@Override
public int delUser(int id){
return userDao.delUser(id);
}
}
都是很寻常的java代码
编写controller
在编写controller之前,导入(复制)了几个jsp文件(老师给的):
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/findAllUser.do")
public ModelAndView findAllUser(){
//调用service方法查询并得到结果
List<User> userlist = userService.findAllUser();
//实例化ModelAndView
ModelAndView mv = new ModelAndView();
mv.addObject("userList",userlist);
mv.setViewName("allUser");
return mv;
}
@RequestMapping("toAddUser")
public String toAddUser(){
return "addUser";
}
@RequestMapping("/addUser.do")
public String addUser(User user){
userService.addUser(user);
return "redirect:/user/findAllUser.do";
}
@RequestMapping("/delete.do")
public String DelUser(int id){
userService.delUser(id);
return "redirect:/user/findAllUser.do";
}
}
这里对于controller的写法也是一知半解,老师只带着我们写好了find方法,剩下的增加和删除都是照猫画虎,还需要周末两天慢慢消化才行啊…
程序初步运行
小结
今天是第一次写ssm框架,感觉自己太菜了,代码看不懂,接下来两天慢慢消化吧!加油!