時間:2024-01-13 17:36:01 | 來源:網(wǎng)站運營
時間:2024-01-13 17:36:01 來源:網(wǎng)站運營
想要用java做一個網(wǎng)站,小型的就可以了,不知道該學哪些知識?求大佬指點?:SpringBoot+Spring Data JPA 作為自己的項目還是挺方便的。本次我使用的是IDEA編輯器來搭建SpringBoot和Spring Data JPA環(huán)境首先,我們在IDEA新建項目的時候,選擇Spring Initializr,然后next就行了。
<!--Web必要的--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><!--spring data jpa--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><!-- MySQL的java驅動 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>
pom文件的完整依賴圖如下:#服務端容器的配置server: port: 8887#數(shù)據(jù)庫配置spring: datasource: username: 填寫自己的 password: 填寫自己的 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://填寫自己的機器:3306/填寫自己的庫?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC # JPA配置 jpa: hibernate: ddl-auto: update show-sql: true # formatSQL得這樣寫 properties: hibernate: format_sql: true
yml文件完整圖如下:package com.zhongfucheng.example.demo.domain;import lombok.Data;import org.hibernate.annotations.GenericGenerator;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;import java.io.Serializable;import java.util.Date;/** * 存儲用戶的信息 * * @author ozc * @version 1.0 */@Entity // jpa的注解,需要加@Table(name = "table_user") // 指定數(shù)據(jù)庫的表名@Data // lombok public class User implements Serializable { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid") private String userId; private String userNickname; private String userPassword; private String userEmail; private Integer actiState; //激活成功與激活失敗常量 public static final int ACTIVATION_SUCCESSFUL = 1; public static final int ACTIVATION_UNSUCCESSFUL = 0; private String actiCode; private Date tokenExptime;}
再補充一句:因為我們有了LomBok的Data注解,并且在IDEA已經(jīng)下好的LomBok的插件,所以我們可以不用寫set、get方法。import com.zhongfucheng.example.demo.domain.User;import org.springframework.data.jpa.repository.JpaRepository;/** * UserDao 操作數(shù)據(jù)庫 * @author ozc * @version 1.0 */public interface UserRepository extends JpaRepository<User, String> {}
UserRepository圖如下:// 接口public interface UserService { List<User> getAllUser();}// 實現(xiàn)@Servicepublic class UserServiceImpl implements UserService { @Autowired private UserRepository userRepository; @Override public List<User> getAllUser() { return userRepository.findAll(); }}
UserService圖如下:@RestControllerpublic class UserController { @Autowired private UserService userService; /** * 得到所有用戶 */ @GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"}) public void getAllUser () { List<User> allUser = userService.getAllUser(); for (User user : allUser) { System.out.println(user); } }}
Controller代碼圖如下:<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script><script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
如無意外的話,我們也能在項目中正常打開頁面。<!--freemarker--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency>
隨后,在application.yml文件中,加入freemarker的配置:# freemarker配置 freemarker: suffix: .ftl request-context-attribute: request expose-session-attributes: true content-type: text/html check-template-location: true charset: UTF-8 cache: false template-loader-path: classpath:/templates
這里我簡單解釋一下:freemarker的文件后綴名為.ftl,程序從/templates路徑下加載我們的文件。/** * 得到所有用戶 */ @GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"}) public String getAllUser ( Model model) { List<User> allUser = userService.getAllUser(); model.addAttribute("users", allUser); return "/index"; }
圖片如下:<#if users?? && (users?size > 0)> <#list users as user> <tr> <td>${user.userId}</td> <td>${user.userNickname}</td> <td>${user.userEmail}</td> <td>${user.actiState}</td> <td><a href="http://localhost:8887/deleteUser?id=${user.userId}">刪除</a></td> </tr> </#list> <#else> <h3>還沒有任何用戶</h3> </#if>
圖片如下:/** * 根據(jù)ID刪除某個用戶 */@GetMapping(value = "/deleteUser", produces = {"application/json;charset=UTF-8"})public String deleteUserById (String id,Model model) { userService.deleteUserById(id); return getAllUser(model);}
我們再找?guī)讖堊约合矚g的圖片,簡單刪除一些不必要模塊,替換成我們想要的文字,就可以得到以下的效果了:關鍵詞:指點,知識,小型
微信公眾號
版權所有? 億企邦 1997-2025 保留一切法律許可權利。