JEECG技术总结
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();
}
}
JEECG技术总结的更多相关文章
- 【JEECG技术文档】Jeecg高级查询器
1. 背景 对于用户来讲查询功能按易用性分三个层次: 1)最简单查询操作是一个输入框,全文检索,如百度,后台实现技术使用搜索引擎,需要设计和建立索引,技术较为复杂,适用于文档和信息数据库检索,但是结果 ...
- 【JEECG技术文档】JEECG平台对外接口JWT应用文档V3.7.2
一. 接口方式 接口调用采用http协议,rest请求方式: 二. 接口安全 接口安全采用Json web token (JWT)机制,基于token的鉴权机制. 1. 机制说明 基于token的鉴权 ...
- 【JEECG技术文档】JEECG online 表单填值规则使用说明
1. 功能介绍 JEECG online规则值自动生成功能 为实现online表单数据初始化功能. 为实现图中红框字段初始化功能,需要完成下面4步操作: 1)编写规则实现类 2) 配置填值规则 3)o ...
- 【JEECG技术文档】JEECG在线聊天插件功能集成文档
原文地址:http://jeecg.iteye.com/blog/2320670 JEECG在线聊天插件功能集成文档 前提: 采用jeecg_3.6.3版本以上(Maven工程) 插件项目: 在线聊天 ...
- 【JEECG技术博文】Local storage & easyui extensions
1. Local storage背景 cookie弊端:同域内http请求都会带cookie,添加带宽和流量:有个数和限制大小(约4K). 在HTML5中,本地存储是一个window的属性.包含loc ...
- 【JEECG技术博文】JEECG 简单实例解说权限控制
JEECG简单实例解说权限控制 请大家点击这里为我们投票.2015博客之星.很多其他分享敬请期待 博文地址:http://blog.itpub.net/30066956/viewspace-18687 ...
- 【JEECG技术文档】表单配置-树形表单
表单配置支持树型表单了,具体效果如下图: 配置说明: 1.是否树:选择是. 2.树形表单父Id:表的自关联外键. 3.树形表单列表:显示树形图标的列,如上图中为[组织机构名称]. 4.默认值:最外层数 ...
- 【JEECG技术文档】online自定义模板的使用
一. 业务背景 客户需要快速开发一个信息采集的功能模块,并使用已规划好的页面,实现个性化页面展示,使用标准左右布局的Table或DIV风格的页面表现力不强,不能满足客户的个性化页面需要 二. 需求 1 ...
- 【JEECG技术文档】JEECG 接口权限开发及配置使用说明
1.功能介绍 通过接口配置实现,对接口的访问权限控制和数据权限控制,接口时REST接口,接口权限认证机制使用Json web token (JWT) 接口权限调用流程: (1)通过接口用户的用户名 ...
随机推荐
- .NET(C#)主流的ORM框架
.NET(C#)主流ORM总揽 SqlSugar (国内) Dos.ORM (国内) Chloe (国内) StackExchange/Dapper (国外) Entity Framework (EF ...
- Caliburn.Micro对目录结构的要求
Caliburn.Micro对MVVM目录结构的要求判定规则是如下正则表达式: (?<nsbefore>([A-Za-z_]\w*\.)*)(?<subns>ViewModel ...
- 微信开发之如何使用开发工具--weixin-java-tools
一.前沿 微信公众平台由于没有提供针对语言的开发包,只公布了一个基于Http协议的接口和加解密的算法sdk,这样给微信公众号的开发者带来很多工作量,除了实现业务逻辑外,还需要自己处理底层的接口协议细节 ...
- OpenSSL再曝CCS注入漏洞-心伤未愈又成筛子
太戏剧了,昨晚看了佳片有约,还不错,2012版的<完美回顾>,像我这样的人依旧选择用电视或者去影院看电影,在没有中间插播广告的时候,体验憋尿得过程中,总是能突然有非常多的想法,这是用电脑或 ...
- AC-PC线(前联合-后联合线)
下面利用一张大脑矢状面(侧视图)来描述ac-pc的空间位置关系.前联合用红色点表示,后联合用黄色表示. 在Talairach 模板的官方文档中,AC-PC线从前联合AC的表面出发,延伸到后联合PC的中 ...
- Andorid之Annotation框架初使用(二)
Fragment: @EActivity(R.layout.fragments) public class MyFragmentActivity extends FragmentActivity { ...
- OpenCV学习(9) 分水岭算法(3)
本教程我学习一下opencv中分水岭算法的具体实现方式. 原始图像和Mark图像,它们的大小都是32*32,分水岭算法的结果是得到两个连通域的轮廓图. 原始图像:(原始图像必须是3通道图像) Mark ...
- C#连接SQL Server数据库进行简单操作[转]
环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...
- Backup and restore of FAST Search for SharePoint 2010
一个同事问我一个问题: 如果FAST Search for SharePoint 2010被full restore到了一个之前的时间点, 那么当FAST Search重新开始一个增量爬网的时候, 会 ...
- Android实战简易教程-第二十八枪(基于Bmob实现头像图片设置和网络上传功能!)
上一篇我们介绍了怎样由uri转换成String ,本文就用到了上篇文章的方法.以下我们介绍一下怎样设置头像后将头像图片上传到云端的方法,本文基于Bmob提供的服务. 看一下代码:(布局文件和前两篇文章 ...