1、用戶數據遷移時,必須在表t_s_base_user和t_s_user中都插入數據才會在頁面顯示。
2、執行sql語句:
String sql = "select count(id) from orderb where merchanttrnno like '"+nowYear+"%"+"'"; count = jeecgJdbcService.getCountForJdbcParam(sql, new Object[]{});
3、獲取當前登錄用戶 :
TSUser user = ResourceUtil.getSessionUserName();
String name = user.getUserName();
4、配置多個數據源
1、在spring中添加多個數據源
2、在項目中獲取數據源,並且執行操作
DataSourceContextHolder.setDataSourceType(org.jeecgframework.core.extend.datasource.DataSourceType.dataSource_jinli); String sql = "insert into person(id,name) values('002','李四')"; jeecgJdbcService.executeSql(sql, new Object[]{}); System.out.println(DataSourceContextHolder.getDataSourceType());
DataSourceContextHolder 這個類可以改變上下文的數據源
你在spring-mvc-hibernate.xml中配置多種數據源就可以切換了
5、用戶刪除失敗,
設置 t_s_log 外鍵 級聯刪除
6、curdtool.js 中包含了很多js控制,限制方法
eg: //sql 增強 function doDopay(title,url,id){ var rowData = $('#'+id).datagrid('getSelected'); var rowsData = $('#'+id).datagrid('getSelections'); if (!rowData) { tip('請選擇付款項目'); return; } if (rowsData.length>1) { tip('請選擇一個付款項目'); return; } }
7、修改模糊查詢: StringParseImpl 類
8、執行SQL語句的方式:
// Map<String,Object> map = new HashMap<String, Object>(); // System.out.println("map"); // map = jeecgJdbcService.findOneForJdbc(findOrderc); // map = systemService.findOneForJdbc(findOrderc); // map = jdbcTemplate.queryForMap(findOrderc);
9、讀取方式:
String sql = SqlUtil.getMethodSql(SqlUtil.getMethodUrl());
10、手動添加查詢中的日期控件
$(document).ready(function(){ $("input[name='createTime_begin']").attr("class","easyui-datebox"); $("input[name='createTime_end']").attr("class","easyui-datebox"); });
11、上傳附件大小控制 : UploadTag 類 進行修改
12、數據權限的帖子:
http://www.jeecg.org/forum.php?mod=viewthread&tid=1776&extra=page%3D1
13、Jeecg 查詢條件拼裝-代碼解讀
http://www.jeecg.org/forum.php?mod=viewthread&tid=1760&extra=page%3D4
數據源設計
http://www.jeecg.org/forum.php?mod=viewthread&tid=2328&page=1&extra=#pid6366
14、replace 用法 參見 userList.jsp 部門字段
15、easyui.tld 自定義標簽,
16、自己寫彈出選擇頁 choose 重寫代碼
//重寫方法 function listChoose(title,url){ $.dialog({ content: 'url:'+url, zIndex: 2022, title: title, lock : true, width :400, height :350, left :'65%', top :'45%', opacity : 0.4, button : [ { name : '確認', callback : function() { iframe = this.iframe.contentWindow; var locDeptCode = ""; locDeptCode = iframe.getmedi calInslocalDeptsListSelections('locDeptCode'); $('#locDeptCode').val(locDeptCode); var locDeptName = ""; locDeptName = iframe.getmedicalInslocalDeptsListSelections('locDeptName'); $('#locDeptName').val(locDeptName); return true; }, focus : true }, { name : '取消', callback : function() {} } ] }); } //重寫方法 function clearsChoose(hiddenid,hiddenName,toname,textname){ var textnamearr; if(textname){ if(toname){ textname = toname; } textnamearr = textname.split(","); for(var i=0; i<textnamearr.length;i++ ){ if(textnamearr[i]){ $('#' + textnamearr[i]).val(""); //$('#' + textnamearr[i]).blur(); } } } if(hiddenid!== undefined && hiddenid!=""){ $('#'+ hiddenid).val(""); }else{ $('#'+ hiddenName).val(""); } }
17、指向同一個表需要在后面加
cgAutoListController.do?list&id=center_user&isIframe=true
18、
roleSet.jsp ajax 提交
function mysubmit() { var roleId = $("#rid").val(); var s = GetNode(); //doSubmit("roleController.do?updateAuthority&rolefunctions=" + s + "&roleId=" + roleId); var obj = new Object(); obj.rolefunctions =s; obj.roleId =roleId; //保存 $.ajax({ url : 'roleController.do?updateAuthority', // 請求的action路徑 async : false, cache : false, type : 'POST', dataType:'json', data:obj, error : function() {// 請求失敗處理函數 }, success : function(data) { var d = jq.parseJSON(data); if (d.success) { jq.dialog.tips('操作成功', 2); } } }); }
19、查詢加上時間控件
$(document).ready(function(){ //給時間控件加上樣式 //給時間控件加上樣式 $("#contractMainListtb").find("input[name='signDate_begin']").attr( "class", "Wdate").attr("style", "height:20px;width:90px;") .click(function() { WdatePicker( { dateFmt : 'yyyy-MM-dd' }); }); $("#contractMainListtb").find("input[name='signDate_end']").attr( "class", "Wdate").attr("style", "height:20px;width:90px;") .click(function() { WdatePicker( { dateFmt : 'yyyy-MM-dd' }); }); });
contractMainListtb是datagrid的name值
name='signDate_begin'的signDate是dgCol的field值
修改查詢 HqlGenerateUtil.java
20、導出Excel 問題:
導出是需要配置entity 注解
導出Excel時,查詢中帶漢字的導出時為空,需要修改tomcat 配置文件編碼。
21、jeecg 執行存儲過程
Session session = jeecgJdbcService.getSession(); SQLQuery query = session.createSQLQuery("{Call EXEC_YSKD_ZD("+YSKD01+",'"+GSXX01+"')}"); query.executeUpdate(); session.close(); 使用時切換數據源: // DataSourceContextHolder.setDataSourceType(org.jeecgframework.core.extend.datasource.DataSourceType.dataSource_jinli); // String sql = "insert into person(id,name) values('002','李四')"; // jeecgJdbcService.executeSql(sql, new Object[]{}); // System.out.println(DataSourceContextHolder.getDataSourceType()); 執行帶參數的存儲過程 : Session session = systemService.getSession(); CallableStatement procCall = SessionFactoryUtils.getDataSource(session.getSessionFactory()).getConnection().prepareCall("{call GET_BH(?,?,?,?,?,?,?,?)}"); procCall.setString(1, companyNo); procCall.setBigDecimal(2, new BigDecimal(0)); procCall.setString(3, unitNo); procCall.setInt(4, 0);
22、tomcat 啟動maven項目
http://wenku.baidu.com/view/36d6d4671eb91a37f1115ca5.html
23、根據id獲取 數據
systemService.getEntity(TSDepart.class,pid)
24.彈出窗口的"確認"與"關閉"那兩個按鈕,代碼放在curdtools.js里面的createwindow方法
25.
jsp頁面里column字標簽擴展
extend="{data-options:{required:false,groupSeparator:\"','\"},class:{value:'easyui-numberbox'}}"
extendJson="{required:'true'}"
extendJson="{disable:'true'}"
26 mysql調用存儲過程實例
package service; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; public class TestMysqlProcedure { String url = "jdbc:mysql://127.0.0.1:3306/mydate"; String userName = "root"; String password = "root"; public Connection getConnection() { Connection con=null; try{ DriverManager.registerDriver(new com.mysql.jdbc.Driver()); con = DriverManager.getConnection(url, this.userName, this.password); }catch(SQLException sw){ } return con; } //讀取OUT型的存儲過程(計算記錄總數) public void testProc_Out(){ Connection conn = getConnection(); CallableStatement stmt = null; try{ //調取OUT型的存儲過程P(計算記錄總數) stmt = conn.prepareCall("{call p(?)}"); //讀取所有OUT型的存儲過程的返回參數數據 stmt.registerOutParameter(1, Types.INTEGER); stmt.execute(); int i= stmt.getInt(1); System.out.println("count = " + i); }catch(Exception e){ System.out.println("hahad = "+e.toString()); }finally{ try { stmt.close(); conn.close(); }catch (Exception ex) { System.out.println("ex : "+ ex.getMessage()); } } } //讀取IN型的存儲過程(條件查詢) public void testProc_In(){ Connection conn = getConnection(); CallableStatemen t stmt = null; ResultSet rs=null; try{ //調取IN型的存儲過程P2,(條件查詢) stmt = conn.prepareCall("{call p2(?)}"); //設置IN型的存儲過程參數值 stmt.setInt(1, 3); //執行語句,並返回值 rs=stmt.executeQuery(); if(rs.next()){ System.out.println("rs ---------- " + rs.getInt(1)); System.out.println("rs ---------- " + rs.getString(2)); } }catch(Exception e){ System.out.println("hahad --------- "+e.toString()); }finally{ try { rs.close(); stmt.close(); conn.close(); }catch (Exception ex) { System.out.println("ex ----------: "+ ex.getMessage()); } } } public static void main(String[] args) { TestMysqlProcedure tmp=new TestMysqlProcedure(); tmp.testProc_Out(); tmp.testProc_In(); } }