spring MVC链接数据库与JDBC连接数据库

本文详细介绍了如何在Spring MVC应用中以及使用JDBC原生方式连接MySQL数据库。涉及步骤包括加载数据库驱动(如mysql-connector-java),配置JDBC连接URL,以及创建Statement和PreparedStatement对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文讨论的是对mysql的连接操作

1.在开发环境中加载指定数据库的驱动程序:

JDBC:下载mysql支持jdbc的驱动程序,例:mysql-connector-java-5.1.18-bin.jar,将该驱动程序加载到开发程序中去。

spring mvc:在POM配置文件中写下面的依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.34</version>
</dependency>
2.在java程序中加载驱动程序:加载JDBC驱动程序:加载要链接的数据库驱动JVM,JAVA虚拟机

JDBC:在Java程序中,可以通过 “Class.forName(“指定数据库的驱动程序”)” 方式来加载添加到开发环境中的驱动程序,例如加载MySQL的数据驱动程序的代码为:  Class.forName(“com.mysql.jdbc.Driver”)

3.提供JDBC连接的url,协议、子协议、数据源、标识.

JDBC:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gdk;

spring mvc:在jdbc.properties里面写

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://172.31.60.187:3306/db_hr?characterEncoding=UTF-8

4.链接数据库

jdbc:向java.sql.Driver.Manger获取Connection对象。

String url="jdvc:mysql~";

String username="root";

String password="root";

Connection con=DriverManager.getConnection(url,username,password);


spring mvc:在spring.xml里面写下面配置

<!-- 分解配置 jdbc.properites -->
<context:property-placeholder location="classpath:jdbc.properties" />

<!-- 数据源c3p0 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${jdbc.driverClassName}" />
    <property name="jdbcUrl" value="${jdbc.url}" />
    <property name="user" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <property name="autoCommitOnClose" value="true"/>
    <property name="checkoutTimeout" value="${cpool.checkoutTimeout}"/>
    <property name="initialPoolSize" value="${cpool.minPoolSize}"/>
    <property name="minPoolSize" value="${cpool.minPoolSize}"/>
    <property name="maxPoolSize" value="${cpool.maxPoolSize}"/>
    <property name="maxIdleTime" value="${cpool.maxIdleTime}"/>
    <property name="acquireIncrement" value="${cpool.acquireIncrement}"/>
    <property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}"/>
</bean>
5 创建一个statement

JDBC:1)statement st=con.create.Statement();//静态

  2)PrepareStatement ps=con.perparedStatement(sql);


Spring MVC项目中实现Spring JDBC连接数据库,通常需要以下步骤: 1. 添加依赖:首先,在你的Maven或Gradle配置文件中添加Spring JDBCJDBC驱动的依赖。例如,如果你使用的是MySQL,可能会添加以下依赖: ```xml <!-- Maven --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <!-- 这里替换为你具体的Spring版本 --> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- Gradle (如果使用Spring Boot,则不需要jdbc依赖,因为默认包含) --> implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'mysql:mysql-connector-java' ``` 2. 配置数据源:在Spring Boot应用中,可以在`application.properties`或`application.yml`中配置数据源,提供数据库的相关信息,如URL、用户名和密码等。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=myuser spring.datasource.password=mypassword ``` 3. 创建DAO接口:创建一个表示数据库操作的接口,比如`MyJdbcDao.java`,其中声明方法对应SQL查询。 ```java public interface MyJdbcDao { List<User> getUsers(); User getUserById(int id); //... } ``` 4. 实现DAO:为接口编写一个实现了Spring JdbcTemplate的实现类,如`MyJdbcImpl.java`。 ```java @Autowired private JdbcTemplate jdbcTemplate; @Override public List<User> getUsers() { return jdbcTemplate.query("SELECT * FROM users", new Object[]{}, new BeanPropertyRowMapper<>(User.class)); } //...其他方法的实现 ``` 5. 注解驱动并注入:使用`@Repository`注解标记DAO类,自动注册到Spring Data JPA体系中,并通过@Autowired注入数据源。 ```java @Repository public class MyJdbcDaoImpl implements MyJdbcDao { //... } ``` 6. 使用DAO:在Controller层中,你可以直接使用`@Autowired`注入DAO并调用其方法来操作数据库。 ```java @RestController public class UserController { private final MyJdbcDao dao; @Autowired public UserController(MyJdbcDao dao) { this.dao = dao; } @GetMapping("/users") public List<User> getUsers() { return dao.getUsers(); } //... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值