利用java发射 生产对象的sql插入语句

2024-05-25 04:08

本文主要是介绍利用java发射 生产对象的sql插入语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import java.lang.reflect.Field;
import java.lang.reflect.Method;/*** 这是用java反射来实现对对象的属性,方法,类名的取值。再组成一条万能的insert 语句。* @author 小高*/
public class Test2 {public static void main(String[] args) throws Exception {Test2 t=new Test2();Student stu=new Student();  //可以对任意对象操作stu.setName("小高");stu.setAge(20);stu.setId(11);String sql=t.createInsertSql(stu);System.out.println(sql);}private String createInsertSql(Object obj) throws Exception {Class cls=obj.getClass();String sql="insert into "+cls.getSimpleName()+" (";  //类名Field fields[]=cls.getDeclaredFields();String columnName=""; //列名String columnValue=""; //列值Object objs[]=new Object[fields.length];  //多少个字段就多少个值for (int i = 0; i < fields.length; i++) {String fieldName=fields[i].getName();  //获得字段String fieldMethodOfget=fieldName.substring(0, 1).toUpperCase()+fieldName.substring(1, fieldName.length());Method methodofget = cls.getMethod("get"+fieldMethodOfget, null);Object value=methodofget.invoke(obj, null); //字段的值	if(value!=null){  //判断是否设置值columnName+=","+fieldName;if(value.getClass().getSimpleName().equals("String")){columnValue+=",'"+value+"'";}else{columnValue+=","+value;}}}columnName=columnName.substring(1, columnName.length());sql+=columnName+") values (";columnValue=columnValue.substring(1, columnValue.length());sql+=columnValue +")";return sql;}
}
输出的结果如图所示:

这篇关于利用java发射 生产对象的sql插入语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1000437

相关文章

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Java空指针异常NullPointerException的原因与解决方案

《Java空指针异常NullPointerException的原因与解决方案》在Java开发中,NullPointerException(空指针异常)是最常见的运行时异常之一,通常发生在程序尝试访问或... 目录一、空指针异常产生的原因1. 变量未初始化2. 对象引用被显式置为null3. 方法返回null

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以