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;
}
/**
* 用戶保存
* @param user
*/
public int save(UserName user);
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;
}
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);
}
插入數據成功
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。