功能说明
将Java Bean类转换为标准的INSERT SQL语句模板,支持:
public static String generateInsert(Class> beanClass){
//基础结构初始化
StringBuilder sql = new StringBuilder("insert into ");
//表名转换
String tableName = convertToSnake(beanClass.getSimpleName());
sql.append(tableName).append("(");
//Bean 对象中的所有字段 - 注意:Bean对象的字段与数据表的字段————对应
Field[] declaredFields = beanClass.getDeclaredFields();
for (Field declaredField : declaredFields) {
sql.append(convertToSnake(declaredField.getName())).append(",");
}
//去除最后一个逗号
sql.deleteCharAt(sql.length()-1);
sql.append(") values (");
//参数占位符生成
for (int i = 0; i
自动生成添加SQL,并实现JDBC 添加操作
public static int insert(Object model){
int row = 0;
String sql = SqlGenerate.generateInsert(model.getClass());
Connection connection = DruidUtil.getConnection();
PreparedStatement pst = null;
try {
pst = connection.prepareStatement(sql);
//第四:填充数据
//1.获取Bean对象的 Class对象
Class> clazz = model.getClass();
//2.获取Bean对象的所有字段
Field[] fields = clazz.getDeclaredFields();
//3.循环遍历所有的字段,读取字段数据,并填充占位符
for (int i = 0; i
测试结果:
// 第一:定义一个员工对象,并初始化相关的信息
Staffs staff = new Staffs();
staff.setId(6);
staff.setName("王八");
staff.setAge(22);
staff.setPhone("110");
staff.setStaPos("项目经理");
staff.setAddTime(LocalDateTime.now());
staff.setUpdateTime(LocalDateTime.now());
System.out.println(DbUtil.insert(staff));
参与评论
手机查看
返回顶部