Spring-data JPA初次接触
来源:互联网 发布:got it 编辑:程序博客网 时间:2024/05/18 13:27
Spring-data JPA初次接触
spring-jpa.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:repository="http://www.springframework.org/schema/data/repository" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.8.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd http://www.springframework.org/schema/data/repository http://www.springframework.org/schema/data/repository/spring-repository-1.11.xsd"> <!-- 加载配置文件 --> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- 自动扫描包 --> <context:component-scan base-package="cn.nb12.jpa.dao"></context:component-scan> <context:component-scan base-package="cn.nb12.jpa.service"></context:component-scan> <!-- 数据源 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="minIdle" value="5" /> <property name="maxActive" value="10" /> <property name="initialSize" value="2" /> </bean> <!-- 配置jpa 本地容器实体管理器工厂 packagesToScan 指定所有@Entity的实体类所在的包 --> <bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <!-- 数据源 --> <property name="dataSource" ref="dataSource" /> <!-- 配置jpa实现的适配器 --> <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"></property> <!-- 实体类对象扫描包 --> <property name="packagesToScan" value="cn.nb12.jpa.po"></property> <!-- 实现方的配置 --> <property name="jpaProperties"> <props> <prop key="hibernate.format_sql">true</prop> </props> </property> </bean> <!-- 配置jpa实现的适配器 --> <bean id="hibernateJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <!-- 显示sql --> <property name="showSql" value="true" /> <!-- 方言 --> <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect"></property> </bean> <!-- jpa的事务处理器 --> <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <!-- 实体管理器工厂 --> <property name="entityManagerFactory" ref="emf" /> <!-- 数据源 --> <property name="dataSource" ref="dataSource" /> </bean> <!-- 配置事务注解处理 --> <tx:annotation-driven proxy-target-class="false" transaction-manager="txManager" /> <!-- 配置spring data jpa 仓库(repository) --> <jpa:repositories base-package="cn.nb12.jpa.dao" entity-manager-factory-ref="emf" transaction-manager-ref="txManager" /></beans>
User.java
package cn.nb12.jpa.po;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;/** * 用户 * * @ClassName User * @Description TODO(这里用一句话描述这个类的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 上午10:12:37 * @version 1.0.0 */@Entity@Table(name="user")public class User implements java.io.Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id") private Integer id; private String username; private String password; private String nickname; private String phone; private String sex; private java.util.Date createTime; public User() { super(); } ...}
UserDao.java
package cn.nb12.jpa.dao;import java.util.List;import cn.nb12.jpa.po.User;/** * 用户dao * * @ClassName UserDao * @Description TODO(这里用一句话描述这个类的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 上午10:18:59 * @version 1.0.0 */public interface UserDao { /** * 查找所有 * * @Description (TODO这里用一句话描述这个方法的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 上午10:21:00 * @version 1.0.0 * @return */ List<User> findAll(); /** * 添加 * * @Description (TODO这里用一句话描述这个方法的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 上午10:21:06 * @version 1.0.0 * @param u */ void addUser(User u); /** * 更新 * * @Description (TODO这里用一句话描述这个方法的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 上午10:21:10 * @version 1.0.0 * @param u */ void updateUser(User u); /** * 删除 * * @Description (TODO这里用一句话描述这个方法的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 上午10:21:16 * @version 1.0.0 * @param id */ void deleteById(int id); /** * 根据id查 * * @Description (TODO这里用一句话描述这个方法的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 下午2:26:46 * @version 1.0.0 * @param id * @return */ User findById(int id); /** * 用户登录 * * @Description (TODO这里用一句话描述这个方法的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 下午2:48:11 * @version 1.0.0 * @param uname * @param pwd * @return */ User login(String uname, String pwd);}
UserDaoImpl.java
package cn.nb12.jpa.dao.impl;import java.util.List;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import org.springframework.stereotype.Repository;import cn.nb12.jpa.dao.UserDao;import cn.nb12.jpa.po.User;/** * 用户dao的实现 * * @ClassName UserDaoImpl * @Description TODO(这里用一句话描述这个类的作用) * @author: yhld456 yhld456@hotmail.com * @Date 2017年5月31日 上午10:19:59 * @version 1.0.0 */@Repositorypublic class UserDaoImpl implements UserDao { /** * 通过注解的方式拿到持久上下文的bean管理器(EntityManager) */ @PersistenceContext private EntityManager em; @Override public List<User> findAll() { // 通过jpql查 return em.createQuery("select u from User u", User.class).getResultList(); } @Override public void addUser(User u) { em.persist(u); } @Override public void updateUser(User u) { em.merge(u); } @Override public void deleteById(int id) { int rows = em.createQuery("delete User u where u.id=:id").setParameter(1, id).executeUpdate(); if (rows > 0) { System.out.println("删除成功"); } } @Override public User findById(int id) { return em.find(User.class, id); } @Override public User login(String uname, String pwd) { return em.createQuery("select u from User u where u.username=:username and u.password=:password",User.class) .setParameter("username", uname) .setParameter("password", pwd) .getSingleResult(); }}
service和controller和以前的一样
阅读全文
0 0
- Spring-data JPA初次接触
- 初次接触spring
- Jpa到Spring data jpa
- Spring Data JPA
- Spring-Data-Jpa
- Spring Data JPA
- Spring data jpa
- Spring Data JPA 使用
- Spring Data JPA
- Spring Data JPA
- spring data JPA 配置
- Spring Data JPA
- Spring Jpa Data
- spring-data-jpa 使用
- spring data jpa初试
- Spring Data jpa Repository
- spring data JPA 配置
- spring Data Jpa入门
- android开发笔记之APK大小优化
- 创建react-native项目
- matlab(3):BP神经网络
- 数据库驱动及URL对应表
- CentOS6.7使用nginx提供静态资源服务,反向代理和负载均衡
- Spring-data JPA初次接触
- Python进阶(五十一)-Flask文件上传提示PermissionError: [Errno 13] Permission denied: 'E:\\IDEA Projects\\Data'
- codeforces——677A——Vanya and Fence
- Residual Squeeze VGG16
- Java发送邮件的几种方式
- Java基础——面向对象的特征
- java使用poi读取excel文档的一种解决方案
- java--HttpClient的使用
- 安卓大图加载-自定义view