…/notebook
…/notebookDomain
…/notebookEAR
<packaging>
此项目为pom形式,只用来提供pom.xml文件供子模块继承。
<dependencyManagement>
使用wildfly bom 来管理wildfly的依赖库。Wildfly bom也是一个pom类型的项目,其中定义了wildfly所有的依赖库。import scope 是说此pom继承自wildfly bom。这样做可以避免在每个模块的pom.xml中定义版本号,以免引起混乱。
<modules>
标签引用其他子模块,运行maven的目标也会在这些子模块中同时运行 notebookDomain 和notebookEAR 模块会在下面创建。
更新JSF模块
=======
由于更新了项目结构,上次创建的JSF模块需要做一些改动,新的pom.xml文件:
4.0.0
com.zxuqian
notebook
war
com.zxuqian
notebookRoot
0.0.1-SNAPSHOT
…/notebookRoot/pom.xml
maven-compiler-plugin
3.5.1
1.81.8
maven-war-plugin
3.0.0
WebContent
org.jboss.spec.javax.faces
jboss-jsf-api_2.2_spec
provided
注意 <parent>
标签, 引用自notebookRoot根模块。 依赖更改为wildfly bom中提供的 org.jboss.spec.javax.faces.jboss-jsf-api_2.2_spec
安装 MySQL 数据库
============
请参考MySQL官方网站如何安装: https://dev.mysql.com/doc/refman/5.7/en/osx-installation-pkg.html
基本只需下载一个安装包,双击运行。这里用的版本为MySQL 5.7。
创建JDBC Resource
===============
首先下载mysql jdbc 连接驱动: https://dev.mysql.com/downloads/connector/j/
解压缩下载的文件,其中 mysql-connector-java-5.1.40-bin.jar 即为驱动。
首次启动Wildfly之前需要添加用户才能登录管理界面,在命令行中运行:
/Users/zxuqian/development/tools/wildfly-10.1.0.Final/bin/add-user.sh
根据提示创建管理用户。
从命令行中启动Wildfly:
/Users/zxuqian/development/tools/wildfly-10.1.0.Final/bin/standalone.sh
登录到管理界面: http://localhost:9990
在欢迎界面点击Deploy an Application旁边的 start。我们需要先把MySQL的jdbc驱动部署到Wildfly。在随后出现的页面中,点击 Add 。
选择Upload a new deployment。点击Next。
选择解压得到的jar文件。点击Next。
保持默认,点击Finish。
回到首页,点击Create a datasource旁边的start链接。在随后出现的页面中选择 Subsystems -> Datasources -> Non-XA。点击右边的 Add。
选择MySQL datasource. 点击Next。
指定一个Datasource名称和JNDI名称。 JNDI 名称十分重要,会在JPA连接到JDBC Resource的时候用到。点击Next。
选择Detected driver并选择第一个检测出来的驱动。点击next。
定义连接 URL。这里我创建的数据库名称为notebook,在配置URL之前,先在mysql中使用“create database notebook”命令创建此数据库。指定MySQL用户名和密码之后,点击next。
查看配置概要,如果正确点击finish。
可通过下图的方式测试是否连接成功:
如果成功连接到数据库,会弹出下图提示框:
创建JPA module
============
从IntelliJ中创建一个Maven 模块。使用下图所示的groupId, artifactId, 并选择择之前所创建的notebookRoot做为父项目: com.zxuqian:notebookRoot:0.0.1-SNAPSHOT
创建完成后,修改pom.xml文件内容:
4.0.0
com.zxuqian
notebookDomain
jar
com.zxuqian
notebookRoot
0.0.1-SNAPSHOT
…/notebookRoot/pom.xml
maven-compiler-plugin
3.5.1
1.81.8
org.hibernate.javax.persistence
hibernate-jpa-2.1-api
provided
此模块打包为Jar项目,为Java EE所要求的JPA模块打包结构。
因为wildfly运行环境提供JPA实现,所以这里JPA依赖的scope为provided,仅在编译时提供。
创建一个 Entity
Entity是Java对象和数据库表建立关系的桥梁,使用JPA注解来配置如何生成对应的数据库表。首先创建一个class,类名为User,并填入如下代码:
package com.zxuqian.notebook.domain;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
/**
-
Entity implementation class for Entity: User
*/
@Entity
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
private String username;
private String password;
private Date dateOfBirth;
private String email;
private String phone;
public User() {
super();
}
public long getId() {
return id;
}
public void setId(long 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;
}
public Date getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。
更多JVM面试整理:
中…(img-UuYHqKlk-1712079436321)]
[外链图片转存中…(img-Oz9MMF9H-1712079436321)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-V7lAHu6p-1712079436322)]
最后
2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。
[外链图片转存中…(img-IPoRLcvz-1712079436322)]
更多JVM面试整理:
[外链图片转存中…(img-F10XLOwt-1712079436322)]