关系型数据库
来源:互联网 发布:矢量图网上制作软件 编辑:程序博客网 时间:2024/06/05 05:05
查看oracle字符集:
Select userenv('language') from dual;PL/SQL错误提示 database character set(AL32UTF8) and Client character set(ZHS16GBK) are different打开注册表,修改NLS_LANG为:SIMPLIFIED CHINESE_CHINA.AL32UTF8 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
Oracle 数据类型
oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。int类型只能存储整数;number可以存储浮点数,也可以存储整数;存储总长度为38;number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;number(8)存储总长度为8的整数;int相当于number(22),存储总长度为22的整数。varchar 存放定长字符数据,最长2000个字符。varchar2 存放变长字符数据,最长4000个字符。varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,这是因为varchar是标准sql提供的数据类型,有可能随着sql标准的变化而改变。varchar在Oracle中不建议使用。nvarchar2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。varchar2(10)则只能存进5个汉字,英文则可以存10个。
oracle连接数
show parameter processesshow parameter sessionsalter system set processes=300 scope=spfile;alter system set sessions=335 scope=spfile;sessions=(1.1*process+5)查询数据库当前进程的连接数:select count(*) from v$process;查看数据库当前会话的连接数:select count(*) from v$session;查看数据库的并发连接数: select count(*) from v$session where status='ACTIVE';查看当前数据库建立的会话情况:select sid,serial#,username,program,machine,status from v$session;查询数据库允许的最大连接数:select value from v$parameter where name = 'processes';一个session对应一个process,但是一个process未必对应一个session
字符串类型转时间类型
mysql:DATE_FORMAT(#{startTime}, '%Y-%m-%d')oracle:to_date(#{startTime}, 'yyyy-mm-dd')
mybatis防止sql注入
venue_name like '%${venueName}%'VENUE_NAME LIKE '%'||#{venueName}||'%'在编写mybatis的映射语句时,尽量采用“#{xxx}”这样的格式。若不得不使用“${xxx}”这样的参数,要手工地做好过滤工作,来防止sql注入攻击。
MyBatis映射文件返回值resultMap,resultType
在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。
mybatis 分页插件 mysql oracle mssql
1.所需jar包
MySQL驱动包、Oracle驱动包、MMSQL驱动包、SqlParser(MMSQL需要)
2.在mybatis-config.xml定义一个通用分页拦截器
<plugins> <plugin interceptor="com.cpit.db.PageHelper"> <property name="dialect" value="mssql"/>//参数 </plugin></plugins>
3.PageHelper核心代码
**//获取总数sql**private String getCountSql(String sql) { StringBuilder pageSql = new StringBuilder(200); if("mysql".equals(dialect)||"mssql".equals(dialect)){ pageSql.append("select count(0) from (" + sql + ") as tmp_count");}else if("oracle".equals(dialect)){ pageSql.append("select count(0) from (" + sql + ")"); } return pageSql.toString(); }**//获取分页sql** private String getPageSql(String sql, Page page) { StringBuilder pageSql = new StringBuilder(200); if("mysql".equals(dialect)){ pageSql.append(sql); pageSql.append(" limit "+page.getStartRow()+","+page.getPageSize()); }else if("oracle".equals(dialect)){ pageSql.append("select * from ( select temp.*, rownum row_id from ( "); pageSql.append(sql); pageSql.append(" ) temp where rownum <= ").append(page.getEndRow()); pageSql.append(") where row_id > ").append(page.getStartRow()); }else if("mssql".equals(dialect)){ pageSql.append(new SqlServer().convertToPageSql(sql, page.getStartRow(), page.getPageSize(),page.getOrderBy())); } return pageSql.toString(); }
4.方法调用
Oracle/MysqlPageHelper.startPage(pageNumber, 3);Page<CityInfo> infoList = (Page<CityInfo>) testService.getList();PageHelper.endPage();MMSQLPageHelper.startPage(pageNumber, 3,"id");Page<User> infoList = (Page<User>) testService.getAllUserformssql();PageHelper.endPage();
mysql主从复制:
change master to master_host='182.92.243.12',master_user='root',master_password='mysql',master_log_file='mysql-bin.000004',master_log_pos=0;
0 0
- 数据库-关系型数据库
- 关系型数据库 : 非关系型数据库
- 关系型数据库/非关系型数据库
- 关系型数据库&&非关系型数据库
- 关系型数据库&&非关系型数据库
- 关系型数据库和非关系数据库
- 数据库与关系型数据库
- 关系型数据库管理
- 非关系型数据库
- 关系型数据库
- 关系型数据库
- 关系型数据库简介
- 关系型数据库介绍
- 关系型数据库基础
- 关系型数据库总结
- 关系型数据库
- 关系型数据库
- 关系型数据库设计
- .NET Core与.NET Framework、Mono之间的关系
- Android 开发中的日常积累
- AIM Tech Round 3 (Div. 1) C. Centroids(树形dp)
- 如何让选择文件的打开方式中有你的app
- Android PendingIntent使用的特殊情况
- 关系型数据库
- Coredata的版本升级
- MAMP 环境下为 php 添加 pcntl 扩展
- Shader 属性
- python版 聊天软件
- 四种线程安全的单例设计模式
- 程序员的幸福敲门
- Spring in Action(第五章 征服数据库)学习笔记
- nav