JdbcTemplate学习笔记
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);
}
插入数据成功
成都创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为新丰企业提供专业的网站设计、网站建设,新丰网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
当前名称:JdbcTemplate学习笔记
网页链接:http://scyanting.com/article/pcchig.html