Семьдесят два, выполнение операции Spring и DAO ()

Spring и Dao являются типичными приложениями двух основных технологий Spring, IoC и AOP.

  • Использование шаблона JDBC — это приложение IoC, которое внедряет объект шаблона JDBC в класс реализации уровня Dao.
  • Для управления транзакциями Spring это приложение АОП, и транзакция вплетена в бизнес-метод уровня службы как аспект.

содержание

Шаблоны Spring и JDBC

Описание метода

боевая операция jdbc


Шаблоны Spring и JDBC

        Чтобы избежать сложного и длинного кода, вызванного прямым использованием JDBC, Spring предоставляет мощный шаблонный класс — JdbcTemplate для упрощения операций JDBC. Кроме того, как объект источника данных DataSource, так и объект шаблона JdbcTemplate могут быть определены в файле конфигурации в форме bean-компонентов, что позволяет в полной мере использовать возможности внедрения зависимостей.

концепция:

Что такое JdbcTemplate?

        Платформа Spring инкапсулирует JDBC и использует JdbcTemplate для облегчения операций с базой данных.

        Модуль Spring JDBC в основном состоит из 4 пакетов, а именно ядра (основной пакет), dataSource (пакет источника данных), объекта (пакет объекта) и поддержки (пакет поддержки).

Имена пакетов иллюстрировать
основной Содержит основные функции JDBC, включая класс JdbcTemplate, класс sinpleJdbcInsert, класс SimpleJdbcCal1 и класс NamedParameterJdbcTemplate.
источник данных Вспомогательный класс для доступа к источникам данных, он имеет реализации различных источников данных и может тестировать код JDBC вне контейнера JavaEE.
объект Доступ к базе данных объектно-ориентированным способом, который позволяет выполнять запросы и возвращать результаты в виде бизнес-объектов, которые могут отображать результаты запроса между столбцами таблицы данных и свойствами бизнес-объектов.
поддерживать Содержит классы поддержки из основных и объектных пакетов, например класс SQLException, обеспечивающий функциональность преобразования исключений.

        Как видно из приведенной выше таблицы, операции Spring над базой данных инкапсулированы в эти пакеты, и если вы хотите использовать Spring JDBC, вам необходимо настроить его.

配置数据源
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>property name="username" value="root"/>
<property name="password" value="root"/>
<bean>
配置JDBC模板
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>注入数据源
</bean>
<bean id="xxx" class="Xxx">配置需要实例化的Bean
<properame="jdbcTemplate" ref="jdbcTemplate"/>注入JDBC模板
</bean>

        Описание 4 свойств в приведенном выше примере конфигурации источника данных показано в следующей таблице:

Имя свойства значение
имя класса драйвера Используемое имя драйвера соответствует классу Driver в JAR-пакете драйвера.
URL Адрес источника данных.
имя пользователя Имя пользователя для доступа к базе данных.
пароль пароль для доступа к базе данных

Описание метода

В базовом классе JdbcTemplate предусмотрено большое количество методов для обновления и запросов к базе данных, и мы используем эти методы для работы с базой данных.

метод иллюстрировать
выполнять() Метод execute(String sql) может использоваться для выполнения операторов sql.
Обновить() update() используется для выполнения операций вставки, обновления и удаления.
запрос() update() используется для выполнения операций запроса данных

                                                        ✨✨✨Я разделительная линия✨✨✨

боевая операция jdbc

        1. Создайте пакет

         2. Создайте applicationContext.xml в src

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
	<!-- 1配置数据源 -->
	<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:3306/spring?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT&amp;useSSL=false" />
		<!--连接数据库的用户名 -->
		<property name="username" value="root" />
		<!--连接数据库的密码 -->
		<property name="password" value="123456" />
	</bean>
	<!-- 2配置JDBC模板 -->
	<bean id="jdbcTemplate"
		class="org.springframework.jdbc.core.JdbcTemplate">
		<!-- 默认必须使用数据源 -->
		<property name="dataSource" ref="dataSource" />
	</bean>
</beans>

        3. Поместите пакет jar в каталог lib.

Ведро семейства пакетов SSM-jar: https://tuomasi.lanzouy.com/b02uszjch

        Пароль: банки

        4. Создать класс

package com.Example.jdbc;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

public class JdbcTemplateTest {
	/**
	 * 使用execute()方法建表
	 */
	public static void main(String[] args) {
		// 加载配置文件
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		// 获取JdbcTemplate实例
		JdbcTemplate jdTemplate = (JdbcTemplate) applicationContext.getBean("jdbcTemplate");
		// 使用execute()方法执行SQL语句,创建用户账户管理表account
		jdTemplate.execute("create table account(" + "id int primary key auto_increment," + "username varchar(50),"
				+ "balance double)");
		System.out.println("账户表account创建成功!");
	}

}

        5. Создайте базу данных

 create database spring;
mysql> create database spring;
Query OK, 1 row affected (0.02 sec)

mysql> use spring;
Database changed
mysql> show tables;
Empty set (0.02 sec)

         6. Запустите программу

        7. Просмотр базы данных

mysql> use spring;
Database changed
mysql> show tables;
+------------------+
| Tables_in_spring |
+------------------+
| account          |
+------------------+
1 row in set (0.00 sec)

mysql> desc account;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int         | NO   | PRI | NULL    | auto_increment |
| username | varchar(50) | YES  |     | NULL    |                |
| balance  | double      | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

        Примечание. Таблица данных учетной записи успешно создана.

рекомендация

отblog.csdn.net/m0_54925305/article/details/123149019