注意:本项目为博主初学Web开发时所写,所使用的方法都比较笨,不符合主流开发方法。例如,包管理应该使用Maven进行管理而不是手动导入,对前端后端代码的架构也并不是很清晰。大家学习思想即可,可以不用浪费时间在将这个项目跑起来。目前主流的技术应当是Spring+SpringMVC+Mybatis的SSM框架,配合Shiro做权限控制,Redis做缓存,也可以学习SpringBoot开发微服务。由于本博主已经保研,较少接触开发,故此项目也不再进行维护。
分析完项目之后,开始进入代码的编写阶段。
我们知道一个系统最主要的底层部分便是对数据库的增删改查,在java中,这种对数据库的操作基本上都是将数据库表与一个javabean对应起来,这种技术叫做对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换,Hibernate框架使用的也是这种技术。
对于每一张表,我们需要编写一个javabean,什么是javabean?简单来说,就是一个简单的java类,类中的每一个属性,都有相对应的get和set方法。将数据表中的字段跟属性一一对应起来的javabean,便是我们需要编写的内容。
例如User表,对应的javabean如下
public class User {
privateString account;
privateString password;
privateInteger id;
publicString getAccount() {
returnaccount;
}
publicvoid setAccount(String account) {
this.account= account;
}
publicString getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password= password;
}
publicvoid setId(Integer id){
this.id=id;
}
publicInteger getId(){
returnid;
}
}
编写完之后,我们在hibernate.cfg.xml同目录下编写一个User.hbm.xml,内容如下
<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/HibernateMapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.blog.beans">
<classname="User" table="user">
<id name="id" column="user_id">
<generator class="native"></generator>
</id>
<property name="account" column="user_account" type="java.lang.String" />
<property name="password" column="user_password" type="java.lang.String" />
</class>
</hibernate-mapping>
其中对于每一个property,name是java中对应字段的名字,column是数据表中对应字段的名字,type则是类型。
<id name="id" column="user_id"><generator class="native"></generator> </id>该语句设置id主键自增,需要在navicat中设置对应的主键自增。
再在hibernate.cfg.xml中添加映射文件
bean和对应的配置文件写好之后,我们就可以通过javabean对数据库进行增删改查操作。而所有的数据库访问的代码将抽象到DAO层(Data Access Object数据访问对象)中,我们将在下一篇进行讲解。
----------------------------------------------------------------------------
本项目下载地址:
github:https://github.com/SCAUMankind/SSHBlogSystem