首页 > 数据库 >【Spring】链接数据库

【Spring】链接数据库

时间:2023-04-04 17:55:29浏览次数:32  
标签:account accountDao int Spring 数据库 Account public 链接 AccountDao

添加Maven依赖:

     <!--spring-jdbc包-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>
        <!--spring-tx-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>

 applicationContext.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:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       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.xsd
      http://www.springframework.org/schema/aop
      http://www.springframework.org/schema/aop/spring-aop.xsd">

    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <!-- 数据库驱动 -->
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <!-- 连接数据库url -->
        <property name="url" value="jdbc:mysql://localhost/spring?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai" />
        <property name="username" value="root"/><!-- 连接数据库用户名 -->
        <property name="password" value="1234"/><!-- 连接数据库密码 -->
    </bean>
    <!-- 配置jdbc模板 -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <!-- 默认必须使用数据源 -->
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!--使用context命名空间,开启注解处理器-->
    <context:component-scan base-package="com.niuzhuang"/>
    <bean id="userDao" class="com.niuzhuang.dao.impl.UserDaoImpl"/>
    <bean id="xmlAdvice" class="com.niuzhuang.demo.XmlAdvice"/>
    <bean id="accountDao" class="com.niuzhuang.dao.impl.AccountDaoImpl">
        <property name="jdbcTemplate" ref="jdbcTemplate"/>
    </bean>
    <!--开启自动代理支持-->
    <aop:aspectj-autoproxy/>
</beans>

 

 AccountDao.java

package com.niuzhuang.dao;

import com.niuzhuang.entity.Account;

public interface AccountDao {
    public int addAccount(Account account);
    public int updateAccount(Account account);
    public int deleteAccount(Account account);
}

AccountDaoImpl.java

package com.niuzhuang.dao.impl;

import com.niuzhuang.dao.AccountDao;
import com.niuzhuang.entity.Account;
import org.springframework.jdbc.core.JdbcTemplate;

public class AccountDaoImpl implements AccountDao {
    private JdbcTemplate jdbcTemplate;

    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    public int addAccount(Account account) {
        String sql = "insert into account(name,balance) values(?,?)";
        Object[] args = {account.getName(),account.getBalance()};
        int number = jdbcTemplate.update(sql,args);
        return number;
    }

    public int updateAccount(Account account) {
        String sql = "update account set name=?,balance=? where id=?";
        int number = jdbcTemplate.update(sql,account.getName(),account.getBalance(),account.getId());
        return number;
    }

    public int deleteAccount(Account account) {
        return 0;
    }
}

Account实体类:

 

 测试运行代码:

package com.niuzhuang;

import com.niuzhuang.dao.AccountDao;
import com.niuzhuang.entity.Account;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;


public class TestJdbcTemplate {
    //添加
    @Test
    public void add(){
        ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
        AccountDao accountDao = ap.getBean("accountDao", AccountDao.class);
        Account account = new Account();
        account.setName("张三");
        account.setBalance(10000.0);
        int num = accountDao.addAccount(account);
        System.out.println("添加了" + num + "条记录");
    }
    //修改
    @Test
    public void update(){
        ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
        AccountDao accountDao = ap.getBean("accountDao", AccountDao.class);
        Account account = new Account();
        account.setId(1);
        account.setName("重岳");
        account.setBalance(10000.0);
        int num = accountDao.updateAccount(account);
        System.out.println("修改了" + num + "条记录");
    }
    //删除
    @Test
    public void delete(){
        ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
        AccountDao accountDao = ap.getBean("accountDao", AccountDao.class);
        Account account = new Account();
        account.setId(1);
        int num = accountDao.deleteAccount(account);
        System.out.println("删除了" + num + "条记录");
    }
    //查询----通过id和name查询
    @Test
    public void findByIdAndName(){
        ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
        AccountDao accountDao = ap.getBean("accountDao", AccountDao.class);
        Account account = accountDao.findByIdAndName(1,"张三");
        System.out.println(account);
    }
    //查询所有
    @Test
    public void findAll(){
        ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
        AccountDao accountDao = ap.getBean("accountDao", AccountDao.class);
        List<Account> accountList = accountDao.findAll();
        if (accountList.size()>0){
            for (Account account:accountList) {
                System.out.println(account);
            }
        }else {
            System.out.println("查询不到数据");
        }
    }
}

 

标签:account,accountDao,int,Spring,数据库,Account,public,链接,AccountDao
From: https://www.cnblogs.com/xiaobiti/p/17286300.html

相关文章

  • 动力节点王鹤SpringBoot3笔记——jdk新特性
    一、JDK关注的新特性1.1搭建学习环境JDK:JDK19OpenJDK:https://jdk.java.net/19/LibericaJDK:​​https://bell-sw.com/pages/downloads/​​,是一个OpenJDK发行版,为云原生,容器特别优化。Maven:构建和依赖管理,版本选择3.6以上配置本地仓库和阿里云镜像IDEA2022.3.1Ulti......
  • sqlserver2016安装参考链接
    参考连接1、SQLServer2016软件安装包和安装教程2、出现polybase要求安装的问题,参考如何安装polybase要求安装orcalejre7更新51或更高版本3、SQLServer提示:安装程序无法与下载服务器联系。请提供Microsoft机器学习服务器安装文件的位置注意:安装到实例配置的时候,默认实......
  • Spring——Alibaba-pandora boot实战
    摘要阿里的PandoraBoot的核心是Pandora,因此在介绍PandoraBoot之前需要先介绍Pandora。在阿里集体内部,几乎所有的应用都用到了各式各样的中间件,比如HSF、TDDL、Diamond等等。本身中间件之间可能就有版本依赖的问题,比如你的应用HSF和Diamond分别依赖了同名jar包的不同版本,maven只会......
  • Git链接上游仓库
    技术背景在Git的操作过程中,一般的组织内部工作模式可以在同一个仓库上的master-develop-feature不同分支上进行开发,也有一些人和外部协作者会通过Fork到自己本地的仓库进行更新的方案。但是对于Fork仓库的更新有一个问题是,如果长期在自己本地更新,有可能会逐渐脱离原始的分支,甚至......
  • Spring使用jdbc模板增删改查
      applicationContext.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop=&q......
  • flask数据库连接
    flask数据库连接flask连接数据库flask连接数据库需要借助pymysql模块,相当于一个mysql的客户端连接。那么问题来了,我们应该按照什么策略去连接数据库?来一个请求连一次,请求处理完后断开数据库连接当并发量过高时,会有数据库服务端无法处理的隐患且每次请求都重新连接数据库一......
  • 基于mnist手写数字数据库的深度学习网络训练和数字识别matlab仿真
    1.算法描述        MNIST数据集(MixedNationalInstituteofStandardsandTechnologydatabase)是美国国家标准与技术研究院收集整理的大型手写数字数据库,该数据集包含60000 个于训练的样本和10000 个于测试的样本,图像是固定⼤小(28x28像素),每个像素的值为......
  • web出现rs查询结果为null,但数据库里的确存在数据
       执行语句,传过来用户名与密码,可rs查询不到结果,而数据库中的确存在该条数据  按住admin发现它前面有一个空格,将空格删除可行。 发现自己书写习惯,在出现(Default)后习惯按个空格再输入,导致四个数据都前面有空格,在前端一个都没有查到。 ......
  • SpringWebFlux~webclient响应式HttpClient
    1.webClientSpringWebFlux包括WebClient对Http请求的响应式,非阻塞。WebClient实例创建方式:1.1通过静态工厂方法创建响应式WebClient实例WebClient.create()WebClient.create(StringbaseUrl)packagecom.crazymaker.springcloud.reactive.rpc.mock;importorg.......
  • 关于使用Kotlin开发SpringBoot项目使用@Transactional和@Autowired的报错问题
    原文地址:关于使用Kotlin开发SpringBoot项目使用@Transactional和@Autowired的报错问题-Stars-One的杂货小窝问题描述最近在开发一个订单模块,需要出现异常就会触发数据回滚操作,首先就是想到了SpringBoot提供的@Transactiona注解功能,但是使用的时候,发现其他方法就是出现......