您好,登錄后才能下訂單哦!
本篇內容主要講解“Spring中orm的作用是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring中orm的作用是什么”吧!
Spring中的ORM 2019.04.18 09:19:25
ORM簡介 對象關系映射,是一種程序技術,用于實現面向對象編程語言里不同類型系統的數據之間的轉換.從效果上說,它其實是創建了一個可在編程語言里使用的--"虛擬對象數據庫". ORM的方法論基于三個核心原則:
簡單:以最基本的形式建模數據 傳達性:數據庫結構被任何人都能理解的語言文檔化 精確性:基于數據模型創建正確標準化的結構 Spring對ORM的框架支持 spring中支持ORM的框架有hibernate、mybatis、JPA等.但是其中JPA是一種規范,hibernate和mybatis都遵循JPA規范,在應用中:
建立新的模塊,添加依賴
image 在資源包中添加連接數據庫的文件和配置 jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/db_spring?useUnicode=true&useSSL=false&characterEncoding=utf-8 jdbc.username=root jdbc.password=root
spring_mybatis.xml
<context:property-placeholder location="classpath:jdbc.properties"/>
<context:component-scan base-package="com.spring.orm.service"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="{jdbc.driverClassName}"/> <property name="url" value="{jdbc.url}"/> <property name="username" value="{jdbc.username}"/> <property name="password" value="{jdbc.password}"/>
<property name="initialSize" value="20"/>
<property name="maxActive" value="20"/>
<property name="minIdle" value="0"/>
<property name="maxWait" value="60000"/>
<property name="timeBetweenEvictionRunsMillis" value="60000"/>
<property name="minEvictableIdleTimeMillis" value="300000"/>
<property name="testWhileIdle" value="false"/>
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="poolPreparedStatements" value="true"/> <property name="maxPoolPreparedStatementPerConnectionSize" value="20"/> </bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.spring.orm.entity"/> </bean>
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.spring.orm.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> <property name="markerInterface" value="com.spring.orm.dao.BaseDAO"/> <property name="properties"> <value> mappers = com.spring.orm.dao.BaseDAO IDENTITY = MYSQL </value> </property> </bean>
<bean id="manager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean>
<tx:annotation-driven transaction-manager="manager"/>
完成類中的編寫 User
@Table(name = "t_user")//表單的名稱 @Data public class User { //標注主鍵和主鍵生成策略 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String account; private String password; private Integer credits; }
BaseDAO public interface BaseDAO<T> extends Mapper<T>, MySqlMapper<T> { }
UserDAO public interface UserDAO extends BaseDAO<User>{ }
UserService List<User> selectUsers();//查詢所有 int addUsers(User user);//插入 int deleteUser(long id);//刪除 int updateUser(User user);//更新 User selectOneUser(long id);//根據id查詢
UserServiceImpl //標注本類是一個Service組件 @Service //在Service層啟動事務 @Transactional public class UserServiceImpl implements UserService { @Autowired private UserDAO userDAO; @Override public List<User> selectUsers() { return userDAO.selectAll(); } @Override public int addUsers(User user) { return userDAO.insert(user); } @Override public int deleteUser(long id) { return userDAO.deleteByPrimaryKey(id); } @Override public int updateUser(User user) { return userDAO.updateByPrimaryKey(user); } @Override public User selectOneUser(long id) { return userDAO.selectByPrimaryKey(id); } }
到此,相信大家對“Spring中orm的作用是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。