文档章节

springmvc + spring data jpa + hibernate 配置(2)

stonehome
 stonehome
发布于 2015/04/16 21:57
字数 706
阅读 76
收藏 2
点赞 0
评论 0
#/cloudsafer/src/config/jdbc.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc\:mysql\://localhost\:3306/cloudsafer
jdbc.user=root
jdbc.password=rootabc
c3p0.minPoolSize=5
c3p0.maxPoolSize=30
c3p0.initialPoolSize=10
c3p0.maxIdleTime=60
c3p0.acquireIncrement=3
c3p0.idleConnectionTestPeriod=60
c3p0.acquireRetryAttempts=30
c3p0.breakAfterAcquireFailure=true
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.hbm2ddl.auto=create
#/cloudsafer/src/config/log4j.properties
log4j.rootLogger=INFO,stdout,file
#\u5E94\u7528\u4E8E\u63A7\u5236\u53F0 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss,SSS} [%c]-[%p] %m%n 
#\u5E94\u7528\u4E8E\u6587\u4EF6 
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.File=${spring_springmvc_jpa.root}/app.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
log4j.logger.org.hibernate.tool.hbm2ddl=debug
#/cloudsafer/src/config/messages.properties
username.not.empty=\u7528\u6237\u59D3\u540D\u4E0D\u80FD\u4E3A\u7A7A
#
#/cloudsafer/src/cn/nudt/cloudsafer/repository/UserRepository.java
package cn.nudt.cloudsafer.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import cn.nudt.cloudsafer.entity.User;
public interface UserRepository extends JpaRepository<User, Long> {}


#/cloudsafer/src/cn/nudt/cloudsafer/entity/User.java
#
package cn.nudt.cloudsafer.entity;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "t_user")
public class User {
 @Id
 @GeneratedValue(strategy = GenerationType.IDENTITY)
 @Column(name = "userId")
 private Integer userId;
 @Column(name = "username")
 private String username;
 @Column(name = "email")
 private String email;
 @Column(name = "password")
 private String password;
 @Column(name = "level")
 private Integer level;
 @Temporal(TemporalType.DATE)
 @Column(name = "registerdate")
 private Date registerdate;
 @OneToOne(cascade = CascadeType.ALL, mappedBy = "user")
 private UserInfo userinfo;
 @OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
 private List<CreditMachine> machines;
 @OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
 private List<EncryptionFile> files;
 
 public Integer getUserId() {
  return userId;
 }
 public void setUserId(Integer userId) {
  this.userId = userId;
 }
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 public Integer getLevel() {
  return level;
 }
 public void setLevel(Integer level) {
  this.level = level;
 }
 public Date getRegisterdate() {
  return registerdate;
 }
 public void setRegisterdate(Date registerdate) {
  this.registerdate = registerdate;
 }
 public UserInfo getUserinfo() {
  return userinfo;
 }
 public void setUserinfo(UserInfo userinfo) {
  this.userinfo = userinfo;
 }
 public List<CreditMachine> getMachines() {
  return machines;
 }
 public void setMachines(List<CreditMachine> machines) {
  this.machines = machines;
 }
 public List<EncryptionFile> getFiles() {
  return files;
 }
 public void setFiles(List<EncryptionFile> files) {
  this.files = files;
 }
 @ManyToOne
 private Administer admin;
 
 public Administer getAdmin() {
  return admin;
 }
 public void setAdmin(Administer admin) {
  this.admin = admin;
 }
}


#/cloudsafer/src/cn/nudt/cloudsafer/service/UserService.java
#
package cn.nudt.cloudsafer.service;
import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import cn.nudt.cloudsafer.entity.User;
import cn.nudt.cloudsafer.repository.UserRepository;
@Repository
@Transactional
class UserServiceImpl {
 @Autowired
 private UserRepository repository;
 @Transactional
 public User save(User user) {
  return repository.save(user);
 }
}

/cloudsafer/src/cn/nudt/cloudsafer/controller/UserController.java
#
package cn.nudt.cloudsafer.controller;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class UserController {
 @Autowired
 private HttpServletRequest request;
 private final String uploadTempDir = "WEB-INF/fileUpload/";
 @RequestMapping("hello")
 public ModelAndView hello() {
  ModelAndView mav = new ModelAndView("hellospringmvc");
  mav.addObject("name", "fengtao");
  return mav;
 }
 @RequestMapping("fileUpload")
 public String fileUpload(@RequestParam("file") MultipartFile file) {
  // 判断文件是否为空
  if (!file.isEmpty()) {
   try {
    // 文件保存路径
    String filePath = request.getSession().getServletContext()
      .getRealPath("/")
      + uploadTempDir + file.getOriginalFilename();
    // 转存文件
    file.transferTo(new File(filePath));
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
  // 重定向
  return "redirect:/list";
 }
 @RequestMapping("list")
 public ModelAndView list() {
  String fileDir = request.getSession().getServletContext()
    .getRealPath("/")
    + uploadTempDir;
  ModelAndView mav = new ModelAndView("list");
  File uploadDest = new File(fileDir);
  String[] fileNames = uploadDest.list();
  mav.addObject("fileNames", fileNames);
  return mav;
 }
 @RequestMapping("download")
 public ResponseEntity<byte[]> download(
   @RequestParam(value = "fileName") String fileName)
   throws IOException {
  HttpHeaders headers = new HttpHeaders();
  headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
  headers.setContentDispositionFormData("attachment", fileName);
  String fileDir = request.getSession().getServletContext()
    .getRealPath("/")+ uploadTempDir;
  File downFile = new File(fileDir
    + new String(fileName.getBytes("ISO8859-1"), "UTF-8"));
  return new ResponseEntity<byte[]>(
    FileUtils.readFileToByteArray(downFile), headers,
    HttpStatus.CREATED);
 }
}


#/cloudsafer/src/test/UserTest.java
#
package test;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import cn.nudt.cloudsafer.entity.User;
import cn.nudt.cloudsafer.repository.UserRepository;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:config/applicationContext.xml",
  "classpath*:config/springMVC-servlet.xml" })
public class UserTest {
 @Autowired
 private UserRepository userDao;
 @BeforeClass
 public static void setUpBeforeClass() throws Exception {
 }
 @Test
 public void test() {
  User u = new User();
  。。。



  userDao.save(u);
 }

© 著作权归作者所有

共有 人打赏支持
stonehome
粉丝 1
博文 6
码字总数 5148
作品 0
长沙
程序员
spring-data-jpa 入门资料

spring-data-jpa 入门资料 maven环境安装 <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId><version>1.4.3.RELEASE</version></dependenc......

WinnieChan
2013/12/18
0
0
jdbc-jdbcTemplate-hibernate-jpa-springDataJpa系列(二)

1 前面的文章索引 - jdbc开发和事务的使用- spring-jdbcTemplate开发和事务的使用- hibernate的原生xml方式开发和事务的使用- hibernate的原生xml方式与spring集成以及事务的使用- hibernate...

乒乓狂魔
2015/04/23
0
5
spring data jpa 详解

本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现...

无敌小学僧
05/30
0
0
Spring MVC 框架搭建及详解

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要...

星火逐月
2014/05/15
0
0
jpa----spring-data-jpa 复杂查询,包括多表关联,分页,排序等

转载:由于此转载文章的出处也是转载的,所以原作者不详 本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data...

u010775025
05/29
0
0
spring mvc 整合 jpa 搭建基于领域驱动模型框架搭建

一、maven pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h......

漂泊者及其影子
2014/06/16
0
0
Dwr技术与ssh2的相关配置技术摘要

平台:win7 myeclipse10 struts2 hibernate 3.3 spring3.0 相关重要文件: web.xml dwr.xml dwr.js engine.js util.js Common-logging.jar ssh2的配置 1、引入struts2 hibernate3.3 spring 3......

西行侠客
2014/03/26
0
0
spring-data-jpa + spring-data-mongodb 配置及jar冲突异常解

当同时集成 spring-data-jpa + spring-data-mongodb 时应注意 将其repository(DAO)层区分开来 我的做法 所有 以 *.dao 结尾的 统统视为 Spring data jpa 所有 以 *.mongo.repository 统统视...

筱龙缘
2015/03/26
0
4
SpringMVC+Spring4.0+Hibernate 简单的整合

学习的初始 一个 Hello World。 1、搭建好环境 工欲善其事,必先利其 这是需要的jar 简单的说下 : standard.jar 这个jar包是我们在jsp中使用JSTL标签的时候用到的。你也可以使用SpringEL 。 ...

Jeremy_pan
2014/08/30
0
13
(入门帖)使用 Spring Data JPA 简化 JPA 开发

本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示例;接着重构该示例,并引入 Spring 框架,这两部分...

阿莱倪士
2014/01/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

1.14 救援模式

确保开机启动时连接镜像文件,如果是真机服务器,就需要:U盘或光盘镜像启动进入BIOS 不同主板进入bios按键不同,一般是F12或Esc 光标:移动到Boot(开机启动项) 减号移动:光标选中行,按-...

小丑鱼00
9分钟前
0
0
ES11-全文检索

高级别全文检索通常用于在全文本字段(如电子邮件正文)上运行全文检索。 他们了解如何分析被查询的字段,并在执行之前将每个字段的分析器(或search_analyzer)应用于查询字符串。 1.term查...

贾峰uk
12分钟前
0
0
java 复制对象有哪些方式

java 复制对象有哪些方式 Apache的 Common beanutils库 org.apache.commons.beanutils.BeanUtils.copyProperties(dest,origin); Springframework 的BeanUtil 依赖: <dependency> ......

黄威
28分钟前
1
0
jstack的简单使用

公司测试反应, 一个java应用的机器, 即使不做交易, cpu始终是30%多, 于是想到了jstack, 实践步骤记录一下: 1, 找出java应用的进程号 ps -ef|grep 应用名|grep -v grep 2, 找出pid下的cpu占用...

零二一七
35分钟前
1
0
崛起于Springboot2.X之项目war打包部署(18)

将springboot项目打包步骤: 1、启动类 extends SpringBootServletInitializer 2、启动类添加覆盖方法 @Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder......

木九天
44分钟前
2
0
导入CSV文件就行数据整理分析

#-*-coding:utf-8-*-import csv,os,re,mathlocalPath=input("请输入所有群文件的根目录:") #所有QQ群文件的物理根目录路径def info(): info_dic=[] dirList=os.listdi...

Kefy
50分钟前
3
0
CoreText进阶(六)-内容大小计算和自动布局

CoreText进阶(六)-内容大小计算和自动布局 其它文章: CoreText 入门(一)-文本绘制 CoreText入门(二)-绘制图片 CoreText进阶(三)-事件处理 CoreText进阶(四)-文字行数限制和显示更...

aron1992
51分钟前
1
0
一个Unity高人的博客,涉猎范围很广,深度也很深。

https://blog.csdn.net/ecidevilin/article/list/

爽歪歪ES
53分钟前
0
0
Spring Cloud Config-Git后端

EnvironmentRepository的默认实现使用Git后端,这对于管理升级和物理环境以及审核更改非常方便。要更改存储库的位置,可以在Config Server中设置“spring.cloud.config.server.git.uri”配置...

itcloud
55分钟前
1
0
centos7 卸载mysql

[root@zyf ~]# rpm -qa|grep -i mysqlmysql-community-libs-5.6.34-2.el7.x86_64mysql-community-server-5.6.34-2.el7.x86_64mysql-community-release-el7-5.noarchmysql-community-......

Yao--靠自己
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部