couche d'objets persistants
Commençons par établir une structure de répertoires :
vous pouvez voir sur la structure de répertoires qu'il s'agit essentiellement de l'ajout, de la suppression, de la modification et de la recherche d'utilisateurs, de biens et de factures. Je ne donnerai qu'un exemple d'opération de gestion des utilisateurs. le reste des marchandises et les factures peuvent être copiés.
Créez d’abord une classe User dans le dossier pojo, puis écrivez les attributs de classe et les méthodes toString, get et set.
public class Yzq_User {
private String userId;
private String username;
private String password;
private int role;
private String phone;
private String gender;
private int age;
private Date createtime;
private String address;
@Override
public String toString() {
return "Yzq_User [userId=" + userId + ", username=" + username
+ ", password=" + password + ", role=" + role + ", phone="
+ phone + ", gender=" + gender + ", age=" + age
+ ", createtime=" + createtime + ", address=" + address + "]";
}
public Yzq_User(String userId, String username, String password, int role,
String phone, String gender, int age, Date createtime,
String address) {
super();
this.userId = userId;
this.username = username;
this.password = password;
this.role = role;
this.phone = phone;
this.gender = gender;
this.age = age;
this.createtime = createtime;
this.address = address;
}
public Yzq_User() {
super();
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
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 int getRole() {
return role;
}
public void setRole(int role) {
this.role = role;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
Couche de présentation Web
Regardez d’abord la page JSP. Prenons l'exemple de la page d'inscription. Remplissez les informations d'inscription dans le formulaire et cliquez sur le bouton d'inscription pour obtenir l'effet d'inscription. En fait, il s'agit de mettre en œuvre l'opération d'ajout d'utilisateurs. Si vous apprenez cela, alors d'autres suppressions, les modifications et les requêtes sont toutes la même idée. Les factures et les marchandises sont les mêmes.
<form id="useraddForm" name="useraddForm" class="register" action="${pageContext.request.contextPath }/addUser.html" method="post">
Je vais ignorer les champs de saisie du formulaire et me concentrer sur l'action du chemin de soumission, qui est obligatoire.
Lors de la suppression, de la modification ou de l'interrogation, vous devez faire attention au chemin. Pour supprimer un produit, il vous suffit de lier l'ID du produit au chemin, comme ceci :
<a href="${pageContext.request.contextPath }/goUpGoods.html?goodsId=${goods.goodsId}">
Ensuite, créez une classe UserController sous le package du contrôleur en fonction de la structure des répertoires.
@Controller
public class Yzq_UserController {
@Autowired
private Yzq_UserService userService;
//添加user
@RequestMapping("/addUser.html")
public String addUser(Yzq_User user) throws Exception{
userService.addUser(user);
return "yzq_login";
}
}
- Faites attention à /addUser.html renseigné dans l'annotation @RequestMapping. Il s'agit de l'action renseignée dans la page JSP à l'étape précédente. Les deux doivent être cohérentes, donc l'action renseignée dans le formulaire à ce moment-là a été soumise ici.
- Retourner "yzq_login" consiste à accéder à la page de connexion. Si l'enregistrement de l'utilisateur réussit, il passera à la page de connexion.
- Faites attention aux annotations @Controller et @Autowired.
- À l'heure actuelle, Yzq_UserService userService et userService.addUser(user) doivent être populaires, car nous n'avons pas encore écrit UserService, et tout ira bien lorsque nous l'écrirons à l'étape suivante.
couche de logique métier
Créez une interface UserService sous le package de services en fonction de la structure des répertoires. Notez qu'il s'agit d'une interface.
public interface Yzq_UserService {
//添加user
public void addUser(Yzq_User user) throws Exception;
}
Créez ensuite la classe d'implémentation UserService UserServiceImpl sous ce package pour implémenter l'interface UserService.
@Service
public class Yzq_UserServiceImpl implements Yzq_UserService{
@Autowired
private Yzq_UserMapper userMapper;
//添加user
@Override
public void addUser(Yzq_User user) throws Exception {
// TODO Auto-generated method stub
userMapper.addUser(user);
}
}
- Ne manquez pas les annotations @Service et @Autowired.
- Yzq_UserMapper userMapper et userMapper.addUser(user) sont définitivement populaires pour la même raison qu'avant.
couche d'accès aux données
Créez une interface UserMapper sous le package dao en fonction de la structure des répertoires. Notez qu'il s'agit d'une interface.
public interface Yzq_UserMapper {
//添加user
public void addUser(Yzq_User user) throws Exception;
}
Créez ensuite le fichier de mappage UserMapper UserMapper.xml sous ce package.
<mapper namespace="com.kmushop.dao.user.Yzq_UserMapper">
<resultMap id="BaseResultMap" type="com.kmushop.pojo.Yzq_User">
<id column="user_id" property="userId" />
<result column="user_name" property="username" />
<result column="password" property="password" />
<result column="user_role" property="role" />
<result column="phone" property="phone" />
<result column="gender" property="gender" />
<result column="age" property="age" />
<result column="user_address" property="address" />
</resultMap>
<sql id="dataFields">
user_id, user_name, password, user_role, phone, gender, user_address
</sql>
<!--
添加user
-->
<insert id="addUser" parameterType="com.kmushop.pojo.Yzq_User">
insert into user(user_id, user_name, password, user_role, phone, gender, user_address)
values (#{userId}, #{username}, #{password}, '2', #{phone}, #{gender}, #{address})
</insert>
</mapper>
- La colonne est un champ de la table de base de données et la propriété est un attribut de la classe d'utilisateurs. Cela réalise le mappage entre les champs de la table de base de données et les attributs de la classe d'entité.
- La section insert est l'instruction sql d'insert. Faites attention à remplir le paramètreType et n'oubliez pas d'ajouter # à la valeur des valeurs.
Maintenant, la fonction d'ajout d'utilisateur est implémentée et les fonctions restantes de suppression, de modification et de requête sont toutes un processus, pojo -> JSP -> Controller -> Service -> Mapper.
L'essentiel est d'écrire différentes instructions SQL selon différentes fonctions.