首页 > 其他分享 >day24 JDBC批处理(通用泛型查询方法 & 下划线转驼峰命名法)

day24 JDBC批处理(通用泛型查询方法 & 下划线转驼峰命名法)

时间:2022-11-03 09:27:36浏览次数:63  
标签:conName JDBC 下划线 int day24 sql3 ++ String string

批处理

public static Integer addBatch(String[] sqls){
 		
	init();
	try {
		//设置关闭自动提交
		conn.setAutoCommit(false);
		Statement stmt = conn.createStatement();
		for (int i = 0; i < sqls.length; i++) {
			stmt.addBatch(sqls[i]);
		}
		//批量执行
		stmt.executeBatch();
		//提交事务
		conn.commit();
		return 1;
	} catch (SQLException e) {
		e.printStackTrace();
		return 0;
	}finally {
		close();
	}
}

批处理在main方法中调用

   String[] sql3 = new String[3];
   sql3[0] = "insert into student(s_name, s_age)values('zs',11);";
   sql3[1] = "insert into student(s_name, s_age)values('lis',22);";
   sql3[2] = "insert into student(s_name, s_age)values('ww',33);";
   int res = addBatch(sql3);
   System.out.println(res);

通用泛型查询方法


 	public static <T> List<T> query1(String sql, Class<T> cls, Object...params){
 		init();
 		try {
 			//编译sql语句,返回PrepareStatement对象
			ps = conn.prepareStatement(sql);
			//参数替换sql中的占位符
			if (params != null) {
				for (int i = 0; i < params.length; i++) {
					ps.setObject(i+1,params[i]);
				}
			}
			//执行sql语句,结果集封装给ResultSet
			rs = ps.executeQuery();
			
			List<T> list = new ArrayList<T>();
			//检索resultSet对象中的列数,类型和字段(结果集元数据)
			ResultSetMetaData resultSetMetaData = rs.getMetaData();
			
			while(rs.next()){
				T t = cls.newInstance();//泛型实例化
				
				//获取结果集的列数
				int count = resultSetMetaData.getColumnCount();	
				for (int i = 0; i < count; i++) {
					//获取每一列的别名,如果没有别名就返回resultSetMetaData.getColumnName();
					String cName = resultSetMetaData.getColumnLabel(i + 1);
					Object cValue = rs.getObject(cName);//通过获取的别名或者列名获取列的值
					
					try {
						Field field = cls.getDeclaredField(cName);//通过获取的别名或者列名获取类的属性
						field.setAccessible(true);//开启私有访问权限
						field.set(t, cValue);//变量赋值
					} catch (NoSuchFieldException e) {
					}
					
				}
				list.add(t);
				
			}
			return list;
			
			
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}finally{
			close();
		}
 	}

下划线转驼峰命名法

 	//下划线转驼峰命名
public static void conversion(String column){
	// 		String[] conName = name.split("");
	// 		String string = "";
	// 		for (int i = 0; i < conName.length; i++) {
	//			if(conName[i].equals("_")){
	//				string = string + conName[i+1].toUpperCase();
	//				i++;
	//			}else {
	//				string = string +conName[i];
	//			}
	//		}
	// 		System.out.println(string);

	String[] arr = column.split("_");
	StringBuffer sf = new StringBuffer(arr[0]);
	for (int i = 1; i < arr.length; i++) {
		String string = arr[i];
		String firstStr = string.substring(0, 1).toUpperCase();
	}
}

标签:conName,JDBC,下划线,int,day24,sql3,++,String,string
From: https://www.cnblogs.com/xiaoto9426/p/16850330.html

相关文章

  • 多线程 & 反射 & 注解 & JDBC 核心点总结
    多线程核心点:线程安全创建线程的两种方式线程生命周期获取、修改线程名获取当前线程对象静态方法sleep()通过异常终止线程的睡眠interrupt()强行终止线程合理......
  • day23 JDBC(Java Database Connection)连接 与 通配符与插入返回主键
    JDBC配置connector的jar包1.项目下新建lib文件夹2.将mysql-connector-java-版本号.jar复制到lib目录下3.右键项目名,选择Properties选项4.点击AddJARS...,选中刚复制的j......
  • datagrip安装驱动时候 解决Driver class ‘com.mysql.cj.jdbc.Driver‘ not found.
         ......
  • jdbc总结
    JDBC(重点)第一个JDBC程序一、创建数据库--创建一个数据库CREATEDATABASEjdbcStudyCHARACTERSETutf8COLLATEutf8_general_ci;二、创建一个表,并插入数据--创......
  • Hive-JDBC round(num, 0)取整问题记录
    生产环境ELK记录的报错信息:ERRORc.x.c.d.b.s.i.TableWarnServiceImpl-executeTableWarnJoberror:java.lang.NumberFormatException:Forinputstring:"57.9788838612......
  • 记一次MyBatis驼峰与下划线转化问题
    最近在做一个项目优化与重构,测试同学在回归功能测试时,指出一个页面功能有Bug,并扔出日志:NPE嘛,这还不简单,根据日志记录的行数,定位到代码行数,都几乎不需要执行接口测试单步调......
  • Java通过jdbc连接MySql数据库进行操作
    下载​​MySql​​驱动包​​https://dev.mysql.com/downloads/connector/j/​​解压,把文件夹中的​​jar​​包拷贝到项目文件中新建一个java类进行连接​​db1​​是我......
  • Spring JdbcTemplate
    SpringJdbcTemplateSpringJdbcTemplate基本使用JdbcTemplate概述它是spring框架中提供的一个对象,是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多......
  • JDBC-ResultSet基本使用
    ResultSet:结果集对象封装查询结果next():游标向下移动一行判断当前行是否是最后一行末尾(是否有数据)如果是则返回false如果不是则放回truegetxxx(参数):获取数据......
  • 代码随想录day24 | 77. 组合
    77.组合题目|文章思路:回溯实现点击查看代码classSolution{public:vector<vector<int>>combine(intn,intk){backTracking(n,k,1);......