spring:集成JDBC

news/2025/2/10 22:01:51/

spring作为一站式框架, 提供了控制层的 SpringMVC 和 持久层的 Spring JdbcTemplate

1.导入相关的jar包(pom.xml):mysql

        <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency>

2.导入JdbcTemplate的jar包和阿里的数据库连接池管理对象:

        <!-- spring-jdbc --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.2.RELEASE</version></dependency>
        <!-- 阿里数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency>

 将不同模块的配置放到不同的XML文件中,创建db.xml文件存放JDBC的相关配置

管理数据源对象:

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${dirvername}"></property><property name="url" value="${url}"></property><property name="username" value="${uname}"></property><property name="password" value="${psw}"></property><property name="initialSize" value="10"></property><property name="minIdle" value="5"></property><property name="maxActive" value="20"></property></bean>

将连接数据库的相关属性文件以键值对的形式存放在config.properties中,再将文件导入XML中:<context:property-placeholder location="config.properties"/>

dirvername=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/ssm_db?serverTimezone=Asia/Shanghai
uname=root
psw=123456

 配置文件中创建 JdbcTemplate

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"></property></bean>

最后将db.xml导入主配置文件(spring.xml)中:

<import resource="classpath:db.xml"></import>

3.注入JdbcTemplate类,执行sql语句:

  1. DDL创建和修改数据库表结构:使用jdbcTemplate.execute();
  2. DML(数据操纵)新增、修改和删除:jdbcTemplate.update();
  3. DQL数据查询:jdbcTemplate.query(),查询时,需要我们自己定义返回对象。

示例:

@Repository
public class UserDao {@AutowiredJdbcTemplate jdbcTemplate;public void insertUser(User user){jdbcTemplate.update("insert into admin(account,password) value (?,?)","老刘","6666");List<User> lists=jdbcTemplate.query("select * from admin where id>?", new RowMapper<User>() {@Overridepublic User mapRow(ResultSet resultSet, int i) throws SQLException {User user1 = new User();user1.setId(resultSet.getInt("id"));user1.setName(resultSet.getString("account"));return user1;}},1);System.out.println("保存成功");System.out.println(lists.size());}
}


http://www.ppmy.cn/news/1067299.html

相关文章

利用改进的遗传算法(种群隔离与个体迁移)mpi并行解决tsp问题

序 关于tsp问题的概述以及如何使用遗传算法进行求解已经在上一篇文章中说明了&#xff1a;遗传算法解决TSP问题. 但是&#xff0c;作为一种演化算法&#xff0c;遗传算法还存在着许多问题&#xff0c;比如早熟的情况&#xff0c;很容易在算法前期就已经收敛了&#xff0c;大量…

官方项目《内容示例》中Common UI部分笔记: 1.1 Activatable Widgets

本文主要面向UMG以及Common UI的初学者 文章目录 效果展示概要Activate和Deactivate可见性绑定UI动画设置Common Activatable Widget的默认焦点 效果展示 概要 这个例子非常简单&#xff0c;定义了13个Common Activatable Widget CommonUI_ActivatableWidgets相当于一个容器包…

ChatGPT 与 Python进行动态可视化分析

Python数据分析目前最为热门的岗位操作。 想使用Python进行可视化分析&#xff0c;但是又不想写代码&#xff0c;测试&#xff0c;验证。可以交给ChatGPT&#xff0c;open AI 来进行操作。 这样的动态图显示&#xff0c;我们只需要给ChatGPT发送一个指令&#xff0c;人工智能就…

AVR128 智能风扇设计-proteus-程序

一、系统方案 模拟的电风扇的工作状态有3种&#xff1a;自然风、常风及睡眠风。使用三个按键S1-S3设置自然风、常风及睡眠风。 再使用两个按键S4和S5&#xff0c;S4用于定时电风扇定时时间长短的设置&#xff0c;每按一次S4键&#xff0c;定时时间增加10秒&#xff0c;最长60秒…

最详细jdk安装以及配置环境(保姆级教程)

一.进入oracle官网&#xff0c;下载jdk oracle官网&#xff1a;Oracle | Cloud Applications and Cloud Platform ps:不同的浏览器&#xff0c;可能进入oracle官网&#xff0c;会只显示部分内容&#xff0c;所以建议使用google Chrome浏览器 在下载之前&#xff0c;首先需要去…

c# 访问sqlServer数据库时的连接字符串

//sql server 身份验证的场合&#xff0c; 连接字符串 private string ConnstrSqlServer "server服务器名称;uid登录名称;pwd登录密码;database数据库名称"; //windows 身份验证连接字符串 private string ConnstrWindows "server服务器名称;database数据库…

《Java极简设计模式》第05章:原型模式(Prototype)

作者&#xff1a;冰河 星球&#xff1a;http://m6z.cn/6aeFbs 博客&#xff1a;https://binghe.gitcode.host 文章汇总&#xff1a;https://binghe.gitcode.host/md/all/all.html 源码地址&#xff1a;https://github.com/binghe001/java-simple-design-patterns/tree/master/j…

C语言练习题Day2

今天继续分享C语言刷题练习 一、选择题 1、以下程序段的输出结果是&#xff08; &#xff09; #include<stdio.h> int main() { char s[] "\\123456\123456\t"; printf("%d\n", strlen(s)); return 0; }A: 12 B: 13 C: 16 D: 以上都不对 这题考的…