首先,先在mysql里面建一张供操作的数据库和表,例如途中mydemo和shirt_brands;
新建一个webapp项目,后端目录如下
前台目录如下,bootstrap是一个样式框架
pom里面jar包文件如下
servlet------api 2.5
spring-----context、core、beans、webmvc、jdbc、tx 4.3.7RELEASE
jackson------databined、core、annotation 2.9.9
mybatis 3.4.6
mybatis-spring 1.3.2
commons-dbcp2 2.5.0
mysql-connector-java 5.1.38
spring.xml:
web.xml:
以上全部配置完成之后开始写java后端代码,首先先写model里的ShirtbrandsInfo类,model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。
private int sbid;
private String sbName;
以下为get和set方法
然后写dao里面的ShirtbrandsDao类,这个类是用来写sql,对数据库进行操作,mapper层=dao层,现在用mybatis逆向工程生成的mapper层,其实就是dao层。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的。
public interface ShirtbrandsDao {
@Insert("insert into shirt_brands(sbName) values(#{sbName})")
public void save(ShirtbrandsInfo sb);
@Delete("delete from shirt_brands where sbid=#{sbid}")
public void del(int sbid);
@Update("update shirt_brands set sbName=#{sbName}")
public void update(ShirtbrandsInfo sb);
@Select("select * from shirt_brands where sbid=#{sbid}")
public ShirtbrandsInfo findById(int sbid);
@Select("select * from shirt_brands")
public List<ShirtbrandsInfo> findAll();
}
其次写service里面的ShirtbrandsService服务类,需要有三个注释,service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法,service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件。
@Service
@Transactional
public class ShirtbrandsService {
@Autowired
private ShirtbrandsDao sbdao;
public void saveShirtbrand(ShirtbrandsInfo sb) {
sbdao.save(sb);
}
public void delShirtbrand(int sbid) {
sbdao.del(sbid);
}
public void modShirtbrand(ShirtbrandsInfo sb) {
sbdao.update(sb);
}
public ShirtbrandsInfo searchOne(int sbid) {
return sbdao.findById(sbid);
}
public List<ShirtbrandsInfo> searchAll() {
return sbdao.