溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JdbcTemplate 學習筆記

發布時間:2020-07-03 20:45:04 來源:網絡 閱讀:230 作者:知止內明 欄目:編程語言

pojo

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @author liwen406
 * @Title: username
 * @Description: 用戶表 testngdb
 * @date 2019/3/19 / 12:24
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class UserName  implements Serializable {
    private Integer uid;
    private String username;
    private String passwrd;
    private Integer age;
}

UsernameDao

    /**
     * 用戶保存
     * @param user
     */
    public int save(UserName user);

UsernameDaoimpl

 private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());

 @Override
    public int save(UserName user) {
        //1.定義sql
        String sql = "INSERT INTO user_table(username,passwrd,age,uid) VALUES (?,?,?,?)";
        //2.執行sql
        int update = template.update(sql, user.getUsername(),
                user.getPasswrd(),
                user.getAge(),
                user.getUid()
        );
        return update;

    }

工具類JDBCUtils:


import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * @author liwen406
 * @Title: JDBCUtils
 * @Description: 1. 聲明靜態數據源成員變量
 * 2. 創建連接池對象
 * 3. 定義公有的得到數據源的方法
 * 4. 定義得到連接對象的方法
 * 5. 定義關閉資源的方法
 * @date 2019/3/20 / 13:34
 */

public class JDBCUtils {
    // 1.   聲明靜態數據源成員變量
    private static DataSource ds;

    // 2. 創建連接池對象
    static {
        // 加載配置文件中的數據
        InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
        Properties pp = new Properties();
        try {
            pp.load(is);
            // 創建連接池,使用配置文件中的參數
            ds = DruidDataSourceFactory.createDataSource(pp);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 3. 定義公有的得到數據源的方法
    public static DataSource getDataSource() {
        return ds;
    }

    // 4. 定義得到連接對象的方法
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }

    // 5.定義關閉資源的方法
    public static void close(Connection conn, Statement stmt, ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
            }
        }

        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
            }
        }
    }

    // 6.重載關閉方法
    public static void close(Connection conn, Statement stmt) {
        close(conn, stmt, null);
    }
}

鏈接地址:

druid.properties
---------------------------------------------------
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/testngdb?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username=root
password=123456
initialSize=5
maxActive=10
maxWait=3000
validationQuery: SELECT 1
testWhileIdle: true
timeBetweenEvictionRunsMillis: 28000

測試類

 BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
    UsernameDaoimpl usernameDaoimpl = new UsernameDaoimpl();

@Test
    public void usersabe() {

        UserName name = new UserName();
        name.setUsername("加油學習");
        name.setPasswrd("12345645");
        String encodedPassword = passwordEncoder.encode(name.getPasswrd().trim());
        name.setPasswrd(encodedPassword);
        name.setAge(33);
        name.setUid(33);
        int save = usernameDaoimpl.save(name);
        log.info("插入成功:"+save);
     //INSERT INTO user_table(username,passwrd,age,uid) VALUES('100121','$2a$10$GDHqk.gGI9l84i7ZLrMzGOzAP9WZ8tJY8iWobdDj/KyRBNvhPMiTG',23,293);

    }

插入數據成功

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女