spring JDBC开发流程

一、

  Spring JDBC 是spring 官方提供的一个持久层框架,对jdbc进行了抽象和封装,消除了重复冗余的jdbc重复性的代码,使操作数据库变的更简单。

二、

  引入对应的架包

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>

  引入驱动

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

  连接池

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.21</version>
        </dependency>

  配置连接池(专项配置文件)

<context:component-scan base-package="com.zzxtit.spring.jdbc"></context:component-scan>
    <context:property-placeholder location="config/DB.properties"/>
    

  创建DB.properties

mysql_driver=com.mysql.cj.jdbc.Driver
mysql_url=jdbc:mysql://locallhost:3306/first?serverTimezone=UTC
mysql_username=root
mysql_passwd=root

  创建DataSource注入连接的属性值 (区别el表达式和spel表达式)

<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>

   初始化jdbc

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" value="#{dataSource}"></property>
    </bean>

  创建接口  

package com.zzxtit.spring.jdbc;

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

  创建一个信息类

package com.zzxtit.spring.jdbc;
import java.util.Date;

import lombok.Data;

@Data
public class SysUserInfo {

    private Integer userId;
    
    private String userName;
    
    private String passwd;
    
    private String salt;
    
    private String realName;
    
    private String avatar;
    
    private String phone;
    
    private String email;
    
    private int gender;
    
    private int locked;
    
    private Date createTime;
    
    private Date updateTime;}


  创建一个实现类

package com.zzxtit.spring.jdbc;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jndi.JndiTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class UserDaoImpl implements UserDao{

    @Autowired
        private JndiTemplate jdbcTemplate;
    public void insertUserInfo(SysUserInfo su) {
        // TODO Auto-generated method stub
        
        String sql="insert into t_sys_user (user_name, passwd, salt, real_name, avatar, phone, email, gender, create_time) "
                + "values (?, ?, ?, ?, ?, ?, ?, ?, now())";
        
        jdbcTemplate.update(sql, su.getUserName(), su.getPasswd(), su.getSalt(),
                su.getRealName(), su.getAvatar(), su.getPhone(), 
                su.getEmail(), su.getGender());
        
    }

    public SysUserInfo getSysUserById(int userId) {
        // TODO Auto-generated method stub
        
        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;
        }
        
    }

}

创建bean时默认使用无参的构造方法,如果写了有参的构造方法需要手动添加一个无参的构造方法

猜你喜欢

转载自www.cnblogs.com/jk1024/p/11889622.html