maven+springmvc+hibernate4框架搭建-純手工親手測試通過
阿新 • • 發佈:2019-02-08
一:建立maven web工程:
最初建成的工程目錄張這樣:
新建:
src/main/java;
src/test/java;
src/test/resources;
這三個原始碼資料夾:
右擊工程目錄->新建->原始碼資料夾
二、web工程配置
專案中只顯示了一個資料夾,其實已經有了src/main/java和src/test/java。將其顯示出來:
完成後出現其他兩個目錄
新增src/test/resources目錄:
右擊專案->新建->原始碼資料夾
要使其他兩個檔案顯示出來,做法如下:
只要新增一個檔案就好了:即src/test/resources
三、匯入依賴包:
pom檔案:
4.0.0com.mjsspringmvctestwar0.0.1-SNAPSHOTspringmvctest Maven Webapphttp://maven.apache.orgspringmvctestorg.apache.maven.pluginsmaven-compiler-plugin2.3.21.81.8junitjunit3.8.1testorg.springframeworkspring-context4.1.0.RELEASEorg.aspectjaspectjrt1.8.0aspectjaspectjweaver1.5.3org.springframeworkspring-webmvc4.1.0.RELEASEorg.springframeworkspring-orm4.1.1.RELEASEorg.hibernatehibernate-core4.3.6.Finalcommons-dbcpcommons-dbcp1.4mysqlmysql-connector-java5.1.18javax.servletjavax.servlet-api3.0.1providedjavax.servletjstl1.1.2providedjavax.servlet.jspjavax.servlet.jsp-api2.3.1provided
<?xml version="1.0" encoding="UTF-8"?>
org.hibernate.dialect.MySQLDialecttrueupdate,createtrue
在相同目錄下再新建: springmvc-servlet.xml,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
最後解決工程配置小錯誤的問題,前提是原始碼全部編譯通過。
點選專案目錄->maven->更新專案:
IGeneralDao.java類和GeneralDao.java的內容:
package com.mjs.dao;
import java.io.Serializable;
import java.util.List;
public interface IGeneralDao {
public T findById(Class type, Serializable id);
public List findAll(Class type);
public void save(Object... entities);
public void update(Object... entities);
public void saveOrUpdate(Object entity);
public void delete(Object... entities);
public void deleteById(Class<?> type, Serializable id);
public void refresh(Object... entities);
public void flush();
}
package com.mjs.dao;
import java.io.Serializable;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate4.HibernateTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class GeneralDao implements IGeneralDao {
/**
* 這個bean裡面需要注入sessionFactory,所以把這個bean寫在了配置中。
*/
@Autowired
private HibernateTemplate hibernateTemplate;
public T findById(Class type, Serializable id) {
return hibernateTemplate.get(type, id);
}
public List findAll(Class type) {
return hibernateTemplate.loadAll(type);
}
public void save(Object... entities) {
for (Object entity : entities) {
hibernateTemplate.save(entity);
}
}
public void saveOrUpdate(Object entity) {
hibernateTemplate.saveOrUpdate(entity);
}
public void update(Object... entities) {
for (Object entity : entities) {
hibernateTemplate.update(entity);
}
}
public void delete(Object... entities) {
for (Object entity : entities) {
if (entity != null) {
hibernateTemplate.delete(entity);
}
}
}
public void deleteById(Class<?> type, Serializable id) {
if (id == null) {
return;
}
Object entity = findById(type, id);
if (entity == null) {
return;
}
delete(entity);
}
public void refresh(Object... entities) {
for (Object entity : entities) {
hibernateTemplate.refresh(entity);
}
}
public void flush() {
hibernateTemplate.flush();
}
}
IUserService.java和UserServcie.java的內容:
package com.mjs.service;
import com.mjs.entity.User;
public interface IUserService {
public boolean regist(User user);
}package com.mjs.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mjs.dao.IGeneralDao;
import com.mjs.entity.User;
@Service
public class UserService implements IUserService {
@Autowired
private IGeneralDao generalDao;
@Transactional(readOnly=false)
public boolean regist(User user) {
generalDao.save(user);
return false;
}
}
TestController.java的內容:
package com.mjs.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.mjs.entity.User;
import com.mjs.service.IUserService;
@Controller
public class TestController {
@Autowired
private IUserService userService;
@RequestMapping("/regist")
public String regist(){
User user = new User();
user.setUsername("xiaoma");
user.setPassword("123456");
userService.regist(user);
return "index";
}
}
User.java的內容:
package com.mjs.entity;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class User implements Serializable{
@Id
private int id;
private String username;
private String password;
public User() {
super();
}
public int getId() {
return id;
}
public void setId(int 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;
}
}
接下來,釋出到tomcat伺服器上,訪問localhost:8080/springmvc/regist就能發現後臺資料庫有一條資料更新。