springboot使用jdbcTemplate连接数据库

1.pom.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5.  
  6. <groupId>com.example</groupId>
  7. <artifactId>spring-data_JpaAndJdbcTemplate</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. <packaging>jar</packaging>
  10.  
  11. <name>spring-mybatis</name>
  12. <description>Demo project for Spring Boot</description>
  13.  
  14. <parent>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-parent</artifactId>
  17. <version>1.5.10.RELEASE</version>
  18. <relativePath/> <!-- lookup parent from repository -->
  19. </parent>
  20.  
  21. <properties>
  22. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  23. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  24. <java.version>1.8</java.version>
  25. </properties>
  26.  
  27. <dependencies>
  28.  
  29. <dependency>
  30. <groupId>org.springframework.boot</groupId>
  31. <artifactId>spring-boot-starter</artifactId>
  32. <exclusions>
  33. <exclusion>
  34. <groupId>org.springframework.boot</groupId>
  35. <artifactId>spring-boot-starter-logging</artifactId>
  36. </exclusion>
  37. </exclusions>
  38. </dependency>
  39. <dependency>
  40. <groupId>org.springframework.boot</groupId>
  41. <artifactId>spring-boot-starter-actuator</artifactId>
  42. </dependency>
  43.  
  44. <dependency>
  45. <groupId>org.springframework.boot</groupId>
  46. <artifactId>spring-boot-starter-log4j</artifactId>
  47. </dependency>
  48. <dependency>
  49. <groupId>org.springframework.boot</groupId>
  50. <artifactId>spring-boot-starter-web</artifactId>
  51. </dependency>
  52. <dependency>
  53. <groupId>mysql</groupId>
  54. <artifactId>mysql-connector-java</artifactId>
  55. <version>5.1.21</version>
  56. </dependency>
  57.  
  58. <dependency>
  59. <groupId>org.springframework.boot</groupId>
  60. <artifactId>spring-boot-starter-data-jpa</artifactId>
  61. </dependency>
  62. <dependency>
  63. <groupId>org.springframework.boot</groupId>
  64. <artifactId>spring-boot-starter-test</artifactId>
  65. <scope>test</scope>
  66. </dependency>
  67.  
  68. </dependencies>
  69.  
  70. <build>
  71. <plugins>
  72. <plugin>
  73. <groupId>org.springframework.boot</groupId>
  74. <artifactId>spring-boot-maven-plugin</artifactId>
  75. </plugin>
  76. </plugins>
  77. </build>
  78.  
  79. </project>

2.application.properties:

  1. spring.datasource.url=jdbc:mysql://localhost:3306/test
  2. spring.datasource.username=root
  3. spring.datasource.password=root
  4. spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3.Student:

  1. package com.example.springmybatis.entity;
  2.  
  3. import javax.persistence.Column;
  4. import javax.persistence.Entity;
  5. import javax.persistence.GeneratedValue;
  6. import javax.persistence.Id;
  7.  
  8. @Entity
  9. public class Student {
  10.  
  11. @Id
  12. @GeneratedValue
  13. private String name;
  14. @Column(nullable = true)
  15. private int age;
  16. @Column(nullable = true)
  17. private String address;
  18.  
  19. private String collage;
  20.  
  21. private String sex;
  22.  
  23. public String getName() {
  24. return name;
  25. }
  26.  
  27. public void setName(String name) {
  28. this.name = name;
  29. }
  30.  
  31. public int getAge() {
  32. return age;
  33. }
  34.  
  35. public void setAge(int age) {
  36. this.age = age;
  37. }
  38.  
  39. public String getAddress() {
  40. return address;
  41. }
  42.  
  43. public void setAddress(String address) {
  44. this.address = address;
  45. }
  46.  
  47. public String getCollage() {
  48. return collage;
  49. }
  50.  
  51. public void setCollage(String collage) {
  52. this.collage = collage;
  53. }
  54.  
  55. public String getSex() {
  56. return sex;
  57. }
  58.  
  59. public void setSex(String sex) {
  60. this.sex = sex;
  61. }
  62.  
  63. @Override
  64. public String toString() {
  65. return "Student{" +
  66. "name='" + name + '\'' +
  67. ", age=" + age +
  68. ", address='" + address + '\'' +
  69. ", collage='" + collage + '\'' +
  70. ", sex='" + sex + '\'' +
  71. '}';
  72. }
  73. }

4.UserService:

  1. package com.example.springmybatis.service_jdbc;
  2.  
  3. import com.example.springmybatis.entity.Student;
  4.  
  5. public interface UserService {
  6. void create(String name, Integer age);
  7. void deleteByName(String name);
  8. Integer getAllUsers();
  9. void deleteAllUsers();
  10. Student select(String name, int age);
  11. }

5.UserServiceImpl:

  1. package com.example.springmybatis.service_jdbc;
  2.  
  3. import com.example.springmybatis.entity.Student;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.jdbc.core.JdbcTemplate;
  6. import org.springframework.jdbc.core.RowMapper;
  7. import org.springframework.stereotype.Service;
  8.  
  9. import java.sql.ResultSet;
  10. import java.sql.SQLException;
  11.  
  12. @Service
  13. public class UserServiceImpl implements UserService {
  14. @Autowired
  15. private JdbcTemplate jdbcTemplate;
  16. @Override
  17. public void create(String name, Integer age) {
  18. jdbcTemplate.update("insert into student(NAME, AGE) values(?, ?)", name, age);
  19. }
  20. @Override
  21. public void deleteByName(String name) {
  22. jdbcTemplate.update("delete from student where NAME = ?", name);
  23. }
  24. @Override
  25. public Integer getAllUsers() {
  26. return jdbcTemplate.queryForObject("select count(1) from student", Integer.class);
  27. }
  28. @Override
  29. public void deleteAllUsers() {
  30. jdbcTemplate.update("delete from student");
  31. }
  32. @Override
  33. public Student select(String name, int age) {
  34. return jdbcTemplate.queryForObject("select name, age, address, collage, sex from student where NAME = ? and age = ?", new MyRowMapper(), name, age);
  35. }
  36.  
  37. public class MyRowMapper implements RowMapper<Student> {
  38.  
  39. @Override
  40. public Student mapRow(ResultSet resultSet, int i) throws SQLException {
  41. String name = resultSet.getString("name");
  42. int age = resultSet.getInt("age");
  43. String address = resultSet.getString("address");
  44. String collage = resultSet.getString("collage");
  45. String sex = resultSet.getString("sex");
  46. Student student = new Student();
  47. student.setName(name);
  48. student.setAddress(address);
  49. student.setAge(age);
  50. student.setCollage(collage);
  51. student.setSex(sex);
  52.  
  53. return student;
  54. }
  55. }
  56. }

6.UserController:

  1. package com.example.springmybatis.Controller;
  2.  
  3. import com.example.springmybatis.entity.Student;
  4. import com.example.springmybatis.service_jdbc.UserService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.web.bind.annotation.*;
  7.  
  8. import java.util.List;
  9.  
  10. @RestController
  11. public class UserController {
  12.  
  13. @Autowired
  14. private UserService userService;
  15.  
  16. /**
  17. * JdbcTemplate连接方式
  18. * @param name
  19. * @param age
  20. * @return
  21. * @throws Exception
  22. */
  23. @RequestMapping(value = "/jdbc", method = RequestMethod.GET)
  24. @ResponseBody
  25. public Student GetNameJdbc(@RequestParam(value = "name", defaultValue = "易中天") String name
  26. , @RequestParam(value = "age", defaultValue = "55") int age)throws Exception{
  27.  
  28. Student user = userService.select(name, age);
  29. return user;
  30. }
  31. }

7.spring boot启动项:

 
  1. package com.example.springmybatis;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5.  
  6. @SpringBootApplication
  7. public class SpringDataJpaAPP {
  8.  
  9. public static void main(String[] args) {
  10. SpringApplication.run(SpringDataJpaAPP.class, args);
  11. }
  12. }

8.sql:

 
  1. CREATE TABLE `student` (
  2. `name` varchar(100) NOT NULL,
  3. `age` int(10) NOT NULL,
  4. `address` varchar(100) NOT NULL,
  5. `collage` varchar(100) NOT NULL,
  6. `sex` varchar(10) NOT NULL
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8
 

springboot使用jdbcTemplate连接数据库的更多相关文章

  1. springboot之JdbcTemplate

    springboot可以使用JdbcTemplate进行数据库访问,代码如下 添加pom文件 <parent> <groupId>org.springframework.boo ...

  2. SpringBoot使用JdbcTemplate

    前言 本文是对SpringBoot使用JdbcTemplate操作数据库的一个介绍,,提供一个小的Demo供大家参考. 操作数据库的方式有很多,本文介绍使用SpringBoot结合JdbcTempla ...

  3. springboot 整合jdbcTemplate

    springboot 整合jdbcTemplate 〇.搭建springboot环境(包括数据库的依赖) 一.添加依赖 如果导入了jpa的依赖,就不用导入jdbctemplete的依赖了jpa的依赖: ...

  4. springboot使用Jpa连接数据库

    springboot使用Jpa连接数据库 1.pom.xml: <?xml version="1.0" encoding="UTF-8"?> < ...

  5. 【使用篇二】SpringBoot使用JdbcTemplate操作数据库(12)

    Spring对数据库的操作在jdbc上面做了深层次的封装,提供了JdbcTemplate模板. 在SpringBoot使用JdbcTemplate很简单: 引入数据库驱动包(mysql或oracle) ...

  6. Springboot 使用JdbcTemplate

    Springboot 使用JdbcTemplate book package com.draymonder.book.jdbc; public class Book { private Integer ...

  7. 关于SpringBoot集成JDBCTemplate的RowMapper问题

    JdbcTemplate 是Spring提供的一套JDBC模板框架,利用AOP 技术来解决直接使用JDBC时大量重复代码的问题.JdbcTemplate虽然没有MyBatis 那么灵活,但是直接使用J ...

  8. SpringBoot整合JdbcTemplate连接Mysql

    import java.io.IOException; import javax.sql.DataSource; import org.apache.ignite.IgniteSystemProper ...

  9. springboot集成jdbcTemplate

    这里使用springboot自带的jdbcTemplate连接mysql数据库 1. 添加依赖包 <!-- jdbc --> <dependency> <groupId& ...

随机推荐

  1. 【游记】NOIP2018复赛

    声明 我的游记是一个完整的体系,如果没有阅读过往届文章,阅读可能会受到障碍. ~~~上一篇游记的传送门~~~ 前言 参加完NOIP2018的初赛过后,我有点自信心爆棚,并比之前更重视了一点(也仅仅是一 ...

  2. Two types of people with high scores of English exams

    I believe that there are two types of people who get high scores in English exams: 1) have high inte ...

  3. eclipse Maven配置以及使用方法

    简述: 现需要在Eclipse中配置Maven插件,同时安装maven应用,配置Maven环境变量,建立Maven管理的工程,并用Maven导入Gson包, 编写简易Json输出程序 步骤: 1. 首 ...

  4. let 、const 、var、function声明关键字的新理解

    今天在群里看到大佬们讨论let .const 的提升问题,有个大佬问  三种声明都在什么阶段提升?  什么阶段?这个真不清楚,以前是只知道let.const存在死区,没有变量提升,一下子就懵了 后经手 ...

  5. Mysql的B+ Tree索引

    为什么要使用索引? 最简单的方式实现数据查询:全表扫描,即将整张表的数据全部或者分批次加载进内存,由于存储的最小单位是块或者页,它们是由多行数据组成,然后逐块逐块或者逐页逐页地查找,这样查找的速度非常 ...

  6. 100天搞定机器学习|day39 Tensorflow Keras手写数字识别

    提示:建议先看day36-38的内容 TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edge ...

  7. Java后台解决跨域问题

    首先说一下什么是跨域? JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.那什么是跨域呢,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.c ...

  8. 新手class名常用概括

    容器: container 页头:header 内容:content/container 页面主体:main 页尾:footer 导航:nav 侧栏:sidebar 栏目:column        ...

  9. Appium+python自动化(三十五)- 命令启动appium之 appium服务命令行参数(超详解)

    简介 前边介绍的都是通过按钮点击启动按钮来启动appium服务,有的小伙伴或者童鞋们乍一听可能不信,或者会问如何通过命令行启动appium服务呢?且听宏哥一一道来. 一睹为快 其实相当的简单,不看不知 ...

  10. 去掉input框的数字箭头

    input::-webkit-outer-spin-button,input::-webkit-inner-spin-button { -webkit-appearance: none;}input[ ...