首先,博主是用spring boot suit(sts)编译器写的项目,虽然有些老,毕竟现在用idea的人很多,不过sts也有其优势,就是spring的资源都是现成的。好了,话不多说,看步骤:
1.创建spring boot 项目
File - > New ->Spring Starter Project
标红的地方可以改一下,因为是spring boot项目,所以改了之后如下:
2.然后就得到spring boot 项目,看目录如下:
3.然后打开pom.xml文件,这个是maven的配置文件,也就是写jar包依赖的地方:
3.1加入几个关键的依赖如下:
<!-- 引入jpa依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- web依赖 web项目运行所所赖的组件,如tomcat、SpringMVC等-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.3.7.Final</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
3.2这些依赖代码全放在 <dependencies> </dependencies> 标签中间,然后 右键单击项目名字-> 找到Maven ->Update Project ->然后选择事项,看图:
红色箭头指到的,要打上钩,但是方框里面的不需要打,除非你是因为导入的包除了问题,不然它会重新去仓库中下载一遍,浪费时间。 然后点OK就行了 ,要等一些时间。
4.创建并配置application.properties文件,如下:
4.1路径
4.2配置文件代码(直接将代码复制到自己项目的application.properties中然后保存,数据库的配置自己按照自己的数据库情况来配置,这里用的是mysql数据库):
#数据库地址
spring.datasource.url = jdbc:mysql://localhost:3306/transportationProject?serverTimezone=GMT%2B8
#用户名
spring.datasource.username = root
#密码
spring.datasource.password = 19960505
#数据库驱动
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
#指定连接池中最大连接数
spring.datasource.max-active=20
#指定连接池中最大空闲数
spring.datasource.max-idle=10
#指定必须连接的最小值
spring.datasource.min-idle=8
#指定启动连接池时,初始建立的连接数量
spring.datasource.initial-size=10
# 指定数据库类型
spring.jpa.database = MYSQL
# 指定是否需要在日志中显示sql语句
spring.jpa.show-sql = true
# 指定自动创建|更新|验证数据库表结构等配置,配置成update
# 表示如果数据库中存在持久化类对应的表就不创建,不存在的表就创建对应的表
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
# 指定命名策略
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# 指定如下方言: 创建的表类型是Innodb,才可以进行对事物的回滚。
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
server.port=8888
5.创建包,如下(基本的一般是这样)
这里先创建com.transportation.model 包就可以啦(其他的不用也行),其他的后序的文章会讲。com.transportation是项目创建好了就有的。
然后在com.transportation.model 包下面创建两个类
创建这两个class 文件,然后这里解释一下,就是Photo是存放产品相片的类,TruckAndPhoto等等再说,在数据库中,我们想要的是 Photo表中的photo_id 和 truck_id 两个字段共同决定photo_adress,然后这两个为联合主键。上代码:
Photo类:
@SuppressWarnings("serial")
@Entity
@Table(name = "Photo")
public class Photo implements Serializable{
@EmbeddedId
private TruckAndPhoto photo_id;
@Column(name="photo_address")
private String photo_address;
public TruckAndPhoto getPhoto_id() {
return photo_id;
}
public void setPhoto_id(TruckAndPhoto photo_id) {
this.photo_id = photo_id;
}
public String getPhoto_address() {
return photo_address;
}
public void setPhoto_address(String photo_address) {
this.photo_address = photo_address;
}
@Override
public String toString() {
return "Photo [photo_id=" + photo_id + ", photo_address=" + photo_address + "]";
}
}
TruckAndPhoto类:
@Embeddable
@SuppressWarnings("serial")
public class TruckAndPhoto implements Serializable{
private int photo_id;
private int truck_id;
public TruckAndPhoto() {
super();
}
public TruckAndPhoto(int photo_id, int truck_id) {
super();
this.photo_id = photo_id;
this.truck_id = truck_id;
}
public int getPhoto_id() {
return photo_id;
}
public void setPhoto_id(int photo_id) {
this.photo_id = photo_id;
}
public int getTruck_id() {
return truck_id;
}
public void setTruck_id(int truck_id) {
this.truck_id = truck_id;
}
}
创建好后,打开数据库,然后可以开始运行啦。