鱼C论坛

 找回密码
 立即注册
查看: 3345|回复: 0

[技术交流] 自己封装的JavaBean转化为sql

[复制链接]
发表于 2014-9-12 15:49:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Map;


public class DatabaseUtil {
        /**
         * 
         * @param modelName 需要持久化的类名(类名需要和数据库表名一致)
         * @param conn
         * @param map 存储model里面的属性
         * @return PreparedStatement
         * @throws SQLException
         * @throws SecurityException
         * @throws ClassNotFoundException
         */
        public PreparedStatement CreateInsertSQL(String modelName,Connection conn ,Map<String, String[]> map) throws SQLException, SecurityException, ClassNotFoundException{
                
                String sql = "insert into " + modelName.substring(modelName.lastIndexOf(".")+1)+"(";
                Field[] field = Class.forName(modelName).getDeclaredFields();
                
                for(int i=0; i<field.length; i++){
                        sql += field[i].getName()+",";
                }
                sql = sql.substring(0, sql.length()-1) + ") " + "values(";
                
                for(int i=0; i<field.length; i++){
                        sql += "?,";
                }
                sql = sql.substring(0, sql.length()-1) + ")";
                System.out.println(sql);
                PreparedStatement prepareStatement = conn.prepareStatement(sql);
                for(int i=0; i<field.length; i++){
                        prepareStatement.setObject(i+1, filterParm(map.get(field[i].getName())));
                }
                return prepareStatement;
        }
        //过滤返回的NULL数组
        public static String filterParm(String[] parm ){
                if(parm != null)
                        return parm[0];
                return null;
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 00:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表