廊坊seo外包公司费用百度关键词优化软件

当前位置: 首页 > news >正文

廊坊seo外包公司费用,百度关键词优化软件,做的网站放在阿里云,网站推广属于哪些目录 Spring Boot数据访问基础知识 Spring Data ORM JDBC JPA JDBC简单实现 步骤1#xff1a;新建Maven项目#xff0c;添加依赖 步骤2#xff1a;配置数据源—让程序可以访问到
步骤3#xff1a;配置数据源—让IDEA可以访问到 步骤4#xff1a;添加数据库和表 …目录 Spring Boot数据访问基础知识 Spring Data ORM JDBC JPA JDBC简单实现 步骤1新建Maven项目添加依赖 步骤2配置数据源—让程序可以访问到  步骤3配置数据源—让IDEA可以访问到 步骤4添加数据库和表 步骤5建立各层级框架写入相对应代码 步骤6测试各个接口方法 总结 Spring Boot数据访问基础知识 Spring Data Spring Data 项目是Spring的子项目目的是为了简化构建基于 spring 框架应用的数据访问计数包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。         Spring Data是一个用于简化数据库访问并支持云服务的开源框架。其主要目标是使得数据库的访问变得方便快捷并支持map-reduce框架和云计算数据服务。此外它还支持基于关系型数据库的数据服务如OracleRAC等。对于拥有海量数据的项目可以用Spring Data来简化项目的开发就如Spring Framework对JDBCORM的支持一样Spring Data会让数据的访问变得更加方便。 ORM 对象-关系映射(Object-Relational Mapping简称ORM)面向对象的开发方法是当今企业级应用开发环境中的主流开发方法关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式业务实体在内存中表现为对象在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系而在数据库中关系数据无法直接表达多对多关联和继承关系。因此对象-关系映射(ORM)系统一般以中间件的形式存在主要实现程序对象到关系数据库数据的映射。 ORM框架及优缺点 JDBC idbc (Java DataBase Connectivitv)是iava连接数据库操作的原生接口。JDBC对Java程序员而言是APl对实现与数据库连接的服务提供商而言是接口模型。作为APIJDB为程序开发提供标准的接口并为各个数据库商及第三方中间件厂商实现与数据库的连接提供了标准方法。一句话概括:jdbc是所有框架操作数据库的必须要用的由数据库厂商提供但是为了方便java程序员调用各个数据库各个数据库厂商都要实现idbc接口。 在我们的Spirng boot依赖中JDBC的使用选择JDBCAPI。 Spring-data-jdbc不是普通的jdbc。它拥有了类似jpa的一些特性比如能够根据方法名推导出sql基本的CRUD等也拥有了写原生sql的能力。最为关键的是它非常的清爽不需要依赖hibernte或者jpa。 JPA jpa(Java Persistence API)是java持久化规范是orm框架的标准主流rm框架都实现了这个标准。Sun引入新的JPAORM规范出于两个原因:其一简化现有Java EE和Java SE应用开发工作;其二Sun希望整合ORM技术实现天下归一。ORM是一种思想是插入在应用程序与JDBC API之间的一个中间层JDBC并不能很好地支持面向对象的程序设计ORM解决了这个问题通过JDBC将字段高效的与对象进行映射。具体实现有hibernate、spring data jpa open jpa。 Spring DataJPA可以理解为JPA规范的再次封装抽象底层还是使用了 Hibernate 的JPA技术实现 JDBC简单实现 在Spring boot中我们通过数据源拿到数据库连接可以使用原生的JDBC语句来操作数据库。Spring本身也对原生的JDBC做了轻量级的封装即dbcTemplate。 配置DBC的依赖后Spring boot配置好了JdbcTemplat 放在了容器中程序员只需自己注入即可使用。下面是一个简单的CRUD例子。 步骤1新建Maven项目添加依赖 步骤2配置数据源—让程序可以访问到  注意创建项目后要设置好自己的本地仓库我之前的文章有讲如何设置 等待依赖下载完成写入以下配置信息。包括驱动、数据源地址、数据源访问用户名和密码 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3306/testdb?serverTimezoneUTCuseUnicodetruecharacterEncodingutf8useSSLfalse spring.datasource.usernameroot spring.datasource.password123456 步骤3配置数据源—让IDEA可以访问到 如图所示点击右边的  databases 或者  数据库  则弹出图片菜单 下载驱动完成后测试链接成功。点击OK确认 步骤4添加数据库和表 代码依次为data.sql 、Schema.sql 、user.sql INSERT INTO article VALUES (1,2101,SpringBoot 核心注解,核心注解的主要作用,00000008976,2023-01-16 12:11:12,2023-01-16 12:19:19);INSERT INTO article VALUES (2,356752,JVM 调优,HotSpot 虚拟机详解,00000000026,2023-06-16 12:15:27,2023-06-16 18:15:30);INSERT INTO article VALUES (3,454,JVM核心思想,编程的各种难题,0000000008,2023-08-5 12:15:27,2023-08-5 19:15:30); DROP DATABASE IF EXISTS Blog; create database Blog;Use Blog;DROP TABLE IF EXISTS article; CREATE TABLE article (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,user_id int(11) NOT NULL COMMENT 作者 ID,title varchar(100) NOT NULL COMMENT 文章标题,summary varchar(200) DEFAULT NULL COMMENT 文章概要,read_count int(11) unsigned zerofill NOT NULL COMMENT 阅读读数,create_time datetime NOT NULL COMMENT 创建时间,update_time datetime NOT NULL COMMENT 最后修改时间,PRIMARY KEY (id) ) ENGINE InnoDBAUTO_INCREMENT 1DEFAULT CHARSET utf8mb4; DROP DATABASE IF EXISTS testdb; create database testdb;Use testdb;DROP TABLE IF EXISTS user; CREATE TABLE user (user_id int NOT NULL AUTO_INCREMENT COMMENT 用户 ID,user_name varchar(255) DEFAULT NULL COMMENT 用户名,status varchar(255) DEFAULT NULL COMMENT 用户状态,PRIMARY KEY (user_id) ) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8; 添加之后在user点击左上角的三角形按钮创建库表 另外两个sql语句可以自行娱乐本文章不会用上 步骤5建立各层级框架写入相对应代码 数据库和表建好之后我们要建立各层级的软件包里面存放不同的代码来让项目更加美观和使用框架和代码如下 各文件代码如下注释有该文件的名称大家只要复制粘贴就好 //useDao public interface UserDao {int addUser(User user);int update(User user);int delete(User user);int count(User user);ListUser getList(User user);User getUser(User user);void batchAddUser(ListObject[] batchArgs);}//UserDaoimpl Repository public class UserDaoimpl implements UserDao {Resourceprivate JdbcTemplate jdbcTemplate;Resourceprivate NamedParameterJdbcTemplate namedParameterJdbcTemplate;Overridepublic int addUser(User user) {String sql INSERT into user (user.user_name,user.status) VALUES(?,?);;return jdbcTemplate.update(sql, user.getUserName(), user.getStatus());}Overridepublic int update(User user) {String sql UPDATE user SET status? WHERE user_name?;;return jdbcTemplate.update(sql, user.getStatus(), user.getUserName());}Overridepublic int delete(User user) {String sql DELETE FROM user where user_name?;;return jdbcTemplate.update(sql, user.getUserName());}Overridepublic int count(User user) {String sql SELECT COUNT(*) FROM user where status?;;return jdbcTemplate.queryForObject(sql, Integer.class, user.getStatus());}Overridepublic ListUser getList(User user) {String sql SELECT * FROM user where status?;;return jdbcTemplate.query(sql, new BeanPropertyRowMapperUser(User.class), user.getStatus());}Overridepublic User getUser(User user) {String sql SELECT * FROM user where user_id?;;return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapperUser(User.class), user.getStatus());}Overridepublic void batchAddUser(ListObject[] batchArgs) {String sql INSERT into user (user.user_name,user.status) VALUES(?,?);;jdbcTemplate.batchUpdate(sql,batchArgs);} }//User Data AllArgsConstructor ToString NoArgsConstructor public class User {private Integer userId;private String userName;private String status;}//UserService public interface UserService {public int addUser(User user);public int updateUser(User user);public int deleteUser(User user);public int countUser(User user);public ListUser getList(User user);public User getUser(User user);public void batchAddUser(ListObject[] batchArgs); }//UserServiceimp Service(userService) public class UserServiceimp implements UserService {Resourceprivate UserDao userDao;Overridepublic int addUser(User user){return userDao.addUser(user);}Overridepublic int updateUser(User user){return userDao.update(user);}Overridepublic int deleteUser(User user) {return userDao.delete(user);}Overridepublic int countUser(User user) {return userDao.count(user);}Overridepublic ListUser getList(User user) {return userDao.getList(user);}Overridepublic User getUser(User user) {return userDao.getUser(user);}Overridepublic void batchAddUser(ListObject[] batchArgs) {userDao.batchAddUser(batchArgs);} } 步骤6测试各个接口方法 我们在test的测试类下建立测试方法可以依次测试我们写好的接口。注意要一段一段语句测试否则会出错测试代码我已写好注释 Resourceprivate JdbcTemplate jdbcTemplate;AutowiredUserService userService;Testvoid taa(){User usernew User();user.setUserName(阿三);user.setStatus(在线);// 新增用户int i userService.addUser(user);System.out.println(新增用户成功);// 修改用户 // User user1 new User(); // user1.setUserName(乌鸦哥); // user1.setStatus(在线); // int u userService.updateUser(user1); // System.out.println(修改用户成功);//批量添加 // ListObject[] batchArgs new ArrayList(); // Object[] a1 {} // Object[] a2 {b,在线}; // Object[] a3 {c,在线}; // Object[] a4 {d,在线}; // batchArgs.add(a1); // batchArgs.add(a2); // batchArgs.add(a3); // batchArgs.add(a4); // userService.batchAddUser(batchArgs); // System.out.println(批量增加完毕);//查询在线用户数量 // User user2 new User(); // user2.setStatus(在线); // int a userService.countUser(user2); // System.out.println(在线用户个数为 a);//获取用户列表(user2在线) // ListUser userList userService.getList(user2); // System.out.println(在线用户列表查询成功);//遍历在线列表 // for (User user3 : userList){ // System.out.println(用户ID user3.getUserId() ,用户名 // user3.getUserName() 状态 user3.getStatus() // ); // }} 总结 以上就是今天的内容了本文章主要讲了Spring Boot中的数据访问基础知识以及如何使用JDBC进行简单的数据访问。而Spring Boot的自动化配置和简化开发极大地提高了开发效率希望大家能有所收获。如本文有不妥之处欢迎大家评论区点赞留言转发~