spring+spring mvc+spring data+jpa+mysql/oracle框架搭建

spring+spring mvc+spring data+jpa+mysql/oracle框架搭建

环境:jdk1.8,tomcat7,maven

框架:spring,spring mvc,spring data,jpa,mysql/oracle


首先浏览项目结构图

spring+spring mvc+spring data+jpa+mysql/oracle框架搭建_第1张图片


框架搭建

1.maven中加入依赖
        
		UTF-8
		
		

		4.2.6.RELEASE
		2.6.1
		1.16.20
		1.10.4.RELEASE
		5.0.7.Final
		1.0.9
	

	


		
			junit
			junit
			3.8.1
			test
		
		
		
			org.springframework
			spring-webmvc
			${springframework.version}
		
		
		
			org.springframework
			spring-test
			${springframework.version}
			test
		
		
			org.springframework
			spring-core
			${springframework.version}
		
		
			org.springframework
			spring-context
			${springframework.version}
		
		
			org.springframework
			spring-beans
			${springframework.version}
		
		
			org.springframework
			spring-jdbc
			${springframework.version}
		
		
		
			com.oracle
			ojdbc14
			10.2.0.4.0
		
		
		
			com.fasterxml.jackson.core
			jackson-core
			${jackson.version}
		
		
			com.fasterxml.jackson.core
			jackson-databind
			${jackson.version}
		
		
			com.fasterxml.jackson.core
			jackson-annotations
			${jackson.version}
		

		
			c3p0
			c3p0
			0.9.1.2
		

		
			org.mybatis
			mybatis
			3.4.1
		

		
		
			org.mybatis
			mybatis-spring
			1.3.0
		

		
		
			log4j
			log4j
			1.2.17
		
		
			org.apache.logging.log4j
			log4j-core
			2.0
		
		
			org.apache.logging.log4j
			log4j-api
			2.0
		
		
			com.alibaba
			fastjson
			1.1.41
		
		
			org.aspectj
			aspectjweaver
			1.8.4
		
		
			jstl
			jstl
			1.2
		
		
			commons-fileupload
			commons-fileupload
			1.3.1
		
		
		
			org.projectlombok
			lombok
			${lombok.version}
			provided
		
		
		
			org.springframework.data
			spring-data-jpa
			${springdatajpa.version}
		
		
			org.apache.commons
			commons-pool2
			2.0
		
		
		
			org.hibernate
			hibernate-core
			${hibernate.version}
		
		
			org.hibernate
			hibernate-entitymanager
			${hibernate.version}
		
		
			org.hibernate
			hibernate-ehcache
			${hibernate.version}
		
		
		
			com.alibaba
			druid
			${druid.version}
		
		
		
            mysql
            mysql-connector-java
            5.1.38
        
	
	
		ZIBShopping
		
			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				
				
					1.8
					1.8
				
			
		
	
2.web.xml设置
        
		contextConfigLocation
		
        	classpath:config/spring/spring-dao.xml
        	classpath:config/spring/spring-service.xml
     	
	
	
		org.springframework.web.context.ContextLoaderListener
	

	
	
		spring
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:config/spring/spring-mvc.xml
		
		1
	
	
		spring
		/
	

	
	
		encodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			utf-8
		
		
			forceEncoding
			true
		
	
	
		encodingFilter
		/*
	
(1)在web.xml设置spring mvc前端控制器,加载指定的
config/spring/spring-mvc.xml

文件

(2)设置数据层dao配置文件,service配置文件

classpath:config/spring/spring-dao.xml
classpath:config/spring/spring-service.xml
3.spring配置文件

(1)spring-dao.xml

        
	
	
	
	
	
	
	
		
		
		
		
		
			
				
				
				
				
				
			
		
		
		
			
				
				org.hibernate.cfg.ImprovedNamingStrategy
				
				update
				true
				true
				
				org.hibernate.dialect.MySQL5InnoDBDialect
				
				org.hibernate.cache.ehcache.EhCacheRegionFactory
				
				true
				true
			
		
		
		
	

	
		
	

	
	
	

(2)spring-service.xml

设置spring扫描的service包

(3)spring-mvc.xml



	
	
	
	
	
	
	
	
	
	
	
	
	
		
			
				
			
		
	
	
		
			
				application/json;charset=UTF-8
			
		
	
	
		
			utf-8
		
		
			104857600
		
		
			4096
		
	
 

4.测试

1.创建entity

package com.ZIBShopping.dto;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@Entity
@Table(name = "people")
public class People implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
//	@GeneratedValue(strategy = GenerationType.SEQUENCE,generator="generator")
//	@SequenceGenerator(name="generator",sequenceName="user_sequence")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Id
	private Long id;
	@Column(name="name",nullable=false)
	private String name;
	@Column(name = "phone",nullable=false)
	private Long phone;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Long getPhone() {
		return phone;
	}
	public void setPhone(Long phone) {
		this.phone = phone;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
}

entity类中

//	@GeneratedValue(strategy = GenerationType.SEQUENCE,generator="generator")
//	@SequenceGenerator(name="generator",sequenceName="user_sequence")

在oracle中可以用到,sequenceName是序列表名

2.dao数据层

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.ZIBShopping.dto.People;

@Repository
public interface IPeopleDao extends JpaRepository{

}
3.sercice层
@Service
public class UserServiceImpl implements UserService{
	@Autowired
	private IPeopleDao peopleDao;
	@Transactional
	public void save(People user) {
		peopleDao.save(user);
	}
}

save()方法是jpa中自带封装好的

4.controller层

@Controller
@RequestMapping("/test")
public class LoginAction {
	@Autowired
	private UserService userService;

	@ResponseBody
	@RequestMapping(value = "/index", method = RequestMethod.GET)
	public Map index(HttpServletRequest request, HttpServletResponse response) throws SQLException {
		People user2 = new People();
		user2.setName("dk");
		user2.setPhone(15555590133l);
		userService.save(user2);
		return map;
	}

}

如果people的id主键存在,save()就是更新数据;

如果people的id为空,save()表示新添加一条数据

你可能感兴趣的:(框架搭建,jpa)