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.Driverurl=jdbc:mysql://localhost:3306/testngdb?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTCusername=rootpassword=123456initialSize=5maxActive=10maxWait=3000validationQuery: SELECT 1testWhileIdle: truetimeBetweenEvictionRunsMillis: 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); }

插入数据成功