• JEECG新建用户不用系统用户表的实现


    首先新增组织机构 和 角色:

    -- 新增 组织机构
    
    INSERT INTO `t_s_depart` VALUES ('dept001', '你所在的机构', '你所在的机构的描述', null, 'A04', '1', '', '', '', null);
    
    -- 新增 角色
    INSERT INTO `t_s_role` VALUES ('role001', 'tz_admin', '台账管理员', null, null, null, '管理员', '2017-10-25 11:01:16', 'admin');
    INSERT INTO `t_s_role` VALUES ('role002', 'tz_branch', '支行管理员', null, null, null, '管理员', '2017-10-25 11:01:33', 'admin');
    INSERT INTO `t_s_role` VALUES ('role003', 'tz_am', '客户经理', null, null, null, '管理员', '2017-10-25 11:01:45', 'admin');
    

    然后在代码中实现:

    package com.zifeiy;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import org.jeecgframework.core.util.PasswordUtil;
    import org.jeecgframework.core.util.oConvertUtils;
    
    /*
     * 用于传输额外的信息到 系统用户表中
     */
    public class AdditionalAddToDbHelper {
    	
    	private static String driver = "com.mysql.jdbc.Driver";
    	private static String url = "jdbc:mysql://localhost:3306/jeecg?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull";
    	private static String userName = "root";
    	private static String password = "password";
    //	private static Connection conn = null;
    //	private static Statement stmt = null;
    	
    	public static boolean addMoreUserInfo(String fullname, String username, String passwd, String rightString) throws ClassNotFoundException, SQLException {
    		int right = 3;
    		try {
    			right = Integer.parseInt(rightString.trim());
    		} catch (Exception e) {
    			right = 3;
    		}
    		
    		Class.forName(driver);
    		Connection conn = DriverManager.getConnection(url, userName, password);
    		System.out.println("connect database successful!begin to add or update");
    		Statement stmt = conn.createStatement();
    		
    		String[] roleNameList = new String[]{"台账管理员", "支行管理员", "客户经理"};
    		String[] roleIdList = new String[]{"role001", "role002", "role003"};
    //		String[] roleList = new String[]{"tz_admin", "tz_branch", "tz_am"};
    		String dept = "dept001";
    		passwd = oConvertUtils.getString(passwd);
    		String encryptedPasswd = PasswordUtil.encrypt(username, passwd, PasswordUtil.getStaticSalt());
    		
    		String delete_sql1 = "DELETE FROM `t_s_role_user` WHERE ID='" + username + "'";
    		String delete_sql2 = "DELETE FROM `t_s_user` WHERE ID='" + username + "'";
    		String delete_sql3 = "DELETE FROM `t_s_base_user` WHERE ID='" + username + "'";
    		String delete_sql4 = "DELETE FROM `t_s_user_org` WHERE ID='" + username + "'";
    		
    		String insert_sql3 = "INSERT INTO `t_s_role_user` VALUES ('" + username + "', '" 
    						+ roleIdList[right-1] + "', '" + username + "');";
    		String insert_sql2 = "INSERT INTO `t_s_user` VALUES ('" + username 
    						+ "', '', '', '', null, '管理员', '2017-10-25 11:08:52', 'admin', '管理员', '2017-10-25 11:08:20', 'admin', null, null, '1');";
    		String insert_sql1 = "INSERT INTO `t_s_base_user` VALUES ('" + username 
    				+ "', null, null, '" + encryptedPasswd 
    				+ "', '" + username 
    				+ "', null, '1', '" + roleNameList[right-1] +"', '" 
    				+ username + "', null, '0');";
    		String insert_sql4 = "INSERT INTO `t_s_user_org` VALUES ('" + username + "', '" + username + "', '" + dept + "');";
    		
    		String[] sqlList = new String[]{delete_sql1, delete_sql2, delete_sql3, delete_sql4, 
    								insert_sql1, insert_sql2, insert_sql3, insert_sql4};
    		
    		for (int i = 0; i < 8; i ++) {
    			String sql = sqlList[i];
    			System.out.println("sql: " + sql);
    			stmt.addBatch(sql);
    		}
    		stmt.executeBatch();
    		
    		stmt.close();
    		if (conn != null)
    			conn.close();
    		
    		return false;
    	}
    	
    	public static boolean doMoreUserDelete(String username) throws ClassNotFoundException, SQLException {
    		Class.forName(driver);
    		Connection conn = DriverManager.getConnection(url, userName, password);
    		System.out.println("connect database successful!begin to delete");
    		Statement stmt = conn.createStatement();
    		
    		String delete_sql1 = "DELETE FROM `t_s_role_user` WHERE ID='" + username + "'";
    		String delete_sql2 = "DELETE FROM `t_s_user` WHERE ID='" + username + "'";
    		String delete_sql3 = "DELETE FROM `t_s_base_user` WHERE ID='" + username + "'";
    		String delete_sql4 = "DELETE FROM `t_s_user_org` WHERE ID='" + username + "'";
    		
    		String[] sqlList = new String[]{delete_sql1, delete_sql2, delete_sql3, delete_sql4};
    		
    		for (int i = 0; i < 4; i ++) {
    			String sql = sqlList[i];
    			System.out.println("sql: " + sql);
    			stmt.addBatch(sql);
    		}
    		stmt.executeBatch();
    		
    		stmt.close();
    		if (conn != null)
    			conn.close();
    		
    		return false;
    	}
    	
    	public static void main(String[] args) throws ClassNotFoundException, SQLException {
    	}
    }
    
    
  • 相关阅读:
    还做开发!重新学习纪念一下先
    NOD32中小企业服务器版部署方法
    我买车了,写个总结
    Windows Server 2008 各个版本微软官方下载
    SQLServer2008过程中因性能计数器不一致导致无法安装的解决方法
    自建邮件服务器的注意事项
    01.Linux下C语言编程环境检查
    wcf部署到IIS宿主上报错
    Win7 开发WCF时 提示 进程不具有此命名空间的访问权限
    SQLServer2008设置 开启远程连接 (转)
  • 原文地址:https://www.cnblogs.com/zifeiy/p/7746490.html
Copyright © 2020-2023  润新知