spring jdbc 01连接MySQL数据库

JdbcTemplate 简介

         为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架.

        作为 Spring JDBC 框架的核心, JDBC 模板的设计目的是为不同类型的 JDBC 操作提供模板方法. 每个模板方法都能控制整个过程, 并允许覆盖过程中的特定任务. 通过这种方式, 可以在尽可能保留灵活性的情况下, 将数据库存取的工作量降到最低.

相关操作如下:

1 pom.xml 配置 maven

        <!-- MYSQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
         </dependency>
         <!-- Spring Boot JDBC -->
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
          </dependency>
 

2、属性配置文件(DB.properties)

mysql_driver=com.mysql.cj.jdbc.Driver
mysql_url=jdbc:mysql://localhost:3306/xthotel?useUnicode=true&characterEncoding=UTF- 
            8&useSSL=false&serverTimezone=Asia/Shanghai
mysql_username=root
mysql_passwd=root

3建一个applicationContext-jdbc.xml

    <context:component-scan base-package="com.zzxtit.spring.jdbc"></context:component-scan>
    <context:property-placeholder location="config/DB.properties"/>
	
	<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
		<property name="driverClassName" value="${mysql_driver}"></property>
		<property name="url" value="${mysql_url}"></property>
		<property name="username" value="${mysql_username}"></property>
		<property name="password" value="${mysql_passwd}"></property>
	</bean>
	
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" value="#{dataSource}"></property>
	</bean>
<!--xml里面的相关内容-->

4数据库建个简单的表 (userId,userName)

5java代码

实体类:

import java.util.Date;
import lombok.Data;

@Data
public class SysUserInfo {

	private Integer userId;
	private String userName;	
}

 接口:

public interface UserDao {
	public void insertUserInfo(SysUserInfo su);
    public SysUserInfo getSysUserById(int userId);
}

接口实现类:

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class UserDaoImpl implements UserDao{

	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	public void insertUserInfo(SysUserInfo su) {
		String sql="insert into t_sys_user (user_name, passwd) "+ "values (?, ?)";
		
		jdbcTemplate.update(sql, su.getUserName(), su.getPasswd());
	}
   public SysUserInfo getSysUserById(int userId) {
		String sql = "select * from t_sys_user where user_id = ?";
		List<SysUserInfo> suList = jdbcTemplate.query(sql, new 
        BeanPropertyRowMapper<SysUserInfo>(SysUserInfo.class), userId);
		
		if(suList != null && suList.size() > 0) {
			return suList.get(0);
		}else {
			return null;
		}
	}	
}

测试:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

	public static void main(String[] args) {
		
		ApplicationContext ioc = new
                             ClassPathXmlApplicationContext("applicationContext-jdbc.xml");
		
		UserDao ud = ioc.getBean(UserDao.class);				
		SysUserInfo su = ud.getSysUserById(1);		
		su.setUserName("name");		
		ud.insertUserInfo(su);
		System.out.println("---------------->" + su);
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值