当前位置: 首页 > news >正文

做金融网站看那些素材输入关键词就能写文章的软件

做金融网站看那些素材,输入关键词就能写文章的软件,3733手游网站在哪里做的,小程序api手册MySql中json类型的使用 MySQL从5.7.8起开始支持JSON字段#xff0c;这极大的丰富了MySQL的数据类型。也方便了广大开发人员。但MySQL并没有提供对JSON对象中的字段进行索引的功能#xff0c;至少没有直接对其字段进行索引的方法。本文将介绍利用MySQL 5.7中的虚拟字段的功能…MySql中json类型的使用 MySQL从5.7.8起开始支持JSON字段这极大的丰富了MySQL的数据类型。也方便了广大开发人员。但MySQL并没有提供对JSON对象中的字段进行索引的功能至少没有直接对其字段进行索引的方法。本文将介绍利用MySQL 5.7中的虚拟字段的功能来对JSON对象中的字段进行索引。 一、使用json的目的 1、可以直接过滤记录 2、可以直接update而无须先读取 3、可以在一条SQL中完成多条纪录的修改 4、通过json类型完美的实现了表结构的动态变化 5、通过计算生成列且在该列上建立索引。提高查询效率 二、开始使用 1.建表 建表语句如下 CREATE TABLE msg_info (id int(10) unsigned NOT NULL,message json NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;2.插入数据 insert into msg_info values (1,{name:zhangsan,phone:13752763211}); insert into msg_info values (2,{name:lisi,phone:13752763222});3.查询更新操作 1、过滤记录 select * from msg_info where message-$.phone13752763211;2、查询json内指定字段 select message-$.name from msg_info; # 这样查询出来的字段是带双引号的使用如下语句可去除双引号也可以使用关键字JSON_UNQUOTE select message-$.name from msg_info;3、直接更新json串内的字段内容 UPDATE msg_info set message JSON_SET(message, $.name, lili) WHERE id 1; # 为json串添加字段 update msg_info set message JSON_INSERT(message, $.age, 30) WHERE id 1;3.动态扩展字段 1、为json添加虚拟字段 ALTER TABLE msg_info ADD v_phone varchar (12) GENERATED ALWAYS AS (JSON_UNQUOTE(message-$.phone ));2、为虚拟字段创建索引提高查询效率 # 通过执行计划可以查看创建索引前后的变化 ALTER TABLE msg_info ADD INDEX idx_phone(v_phone);mybatis存取mysql中的json mysql 5.7后新增了一个json类型字段以往json入库都是转字符串取到前端造成了不少困扰。今天就做了个小例子把这个整合到ssm例子中。 这边也顺便说下如果idea在启动tomcat客户端控制台出现乱码处理办法 打开idea安装目录-bin 用记事本打开idea.exe.vmoptions和idea64.exe.vmoptions文件 在文件后面添加一行-Dfile.encodingUTF-8 好了进入正题 第一步先配置一个typehandler,代码如下 import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.SerializationConfig.Feature; import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;/*** mapper里json型字段到类的映射。* 用法一:* 入库#{jsonDataField, typeHandlercom.adu.spring_test.mybatis.typehandler.JsonTypeHandler}* 出库* resultMap* result propertyjsonDataField columnjson_data_field javaTypecom.xxx.MyClass typeHandlercom.adu.spring_test.mybatis.typehandler.JsonTypeHandler/* /resultMap** 用法二* 1在mybatis-config.xml中指定handler:* typeHandlers* typeHandler handlercom.adu.spring_test.mybatis.typehandler.JsonTypeHandler javaTypecom.xxx.MyClass/* /typeHandlers* 2)在MyClassMapper.xml里直接select/update/insert。**/ public class JsonTypeHandlerT extends Object extends BaseTypeHandlerT {private static final ObjectMapper mapper new ObjectMapper();private ClassT clazz;public JsonTypeHandler(ClassT clazz) {if (clazz null) throw new IllegalArgumentException(Type argument cannot be null);this.clazz clazz;}Overridepublic void setNonNullParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType) throws SQLException {ps.setString(i, this.toJson(parameter));}Overridepublic T getNullableResult(ResultSet rs, String columnName) throws SQLException {return this.toObject(rs.getString(columnName), clazz);}Overridepublic T getNullableResult(ResultSet rs, int columnIndex) throws SQLException {return this.toObject(rs.getString(columnIndex), clazz);}Overridepublic T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {return this.toObject(cs.getString(columnIndex), clazz);}private String toJson(T object) {try {return mapper.writeValueAsString(object);} catch (Exception e) {throw new RuntimeException(e);}}private T toObject(String content, Class? clazz) {if (content ! null !content.isEmpty()) {try {return (T) mapper.readValue(content, clazz);} catch (Exception e) {throw new RuntimeException(e);}} else {return null;}}static {mapper.configure(Feature.WRITE_NULL_MAP_VALUES, false);mapper.setSerializationInclusion(Inclusion.NON_NULL);}mapper代码 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.cm.dao.UserDaoresultMap iduser typecom.cm.model.UserModelid columnid jdbcTypeNUMERIC propertyid/result columnname jdbcTypeVARCHAR propertyname/result columnage jdbcTypeNUMERIC propertyage/result columnhobby jdbcTypeNUMERIC propertyhobby typeHandlercom.cm.mybaits.JsonTypeHandler//resultMapselect idgetAllUsers resultMapuserselect * from user/selectinsert idaddUser!--ignore忽略自动增长的主键id--insert ignore into user (name, age, hobby) values (#{id}, #{name} ,#{hobby, typeHandlercom.cm.mybaits.JsonTypeHandler})/insertupdate idupdateUserupdate user set name#{name} where id#{id}/updatedelete iddeleteUser parameterTypeStringdelete from user where id#{id}/deleteselect idgetUser resultTypeUserModelselect * from user where id #{id}/select /mappermysql表结构   插入的测试代码 效果预览 入库 取数据 这边有个坑是mysql 驱动一定要5.1.40不然取出来的json中文是乱码。虽然说是低于5.1.36会乱码但是我试了5.1.6还是乱码。 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.40/version /dependency
http://www.zqtcl.cn/news/486396/

相关文章:

  • 茶叶网站建设一般的风格加大志愿服务网站建设
  • 湖州医院网站建设方案网页游戏知乎
  • 以网站建设为开题报告临海门户网站住房和城乡建设规划局
  • 河南省大型项目建设办公室网站wordpress置顶功能
  • 奉化网站建设三合一网站建设多少钱
  • wordpress文章页怎么调用网站图片wordpress菜单锚点定位
  • 网站建设运营合作合同网站建设英文合同
  • wordpress chrome插件开发图片式网站利于做优化吗
  • 如何做好品牌网站建设策划app要有网站做基础
  • 横沥网站建设公司wordpress运行php
  • 南皮网站建设价格网络推广这个工作好做吗
  • 长安大学门户网站是谁给做的网站排名logo怎么做
  • 襄樊做网站做网站做网站
  • 百度做网站续费费用网站开发的可行性
  • 电子商务网站建设效益分析如何才能做好品牌网站建设策划
  • 能打开各种网站的浏览器app文章目录wordpress
  • 网站注册页面html中国建设招标网网站
  • 云南网站设计海外直购网站建设方案书范文
  • 网站视频小程序商城多少钱
  • 美耐皿 技术支持 东莞网站建设如何将网站指向404
  • 如何做网站的维护和推广wordpress首页在哪里修改
  • 网站建设公司在哪里宣传网站群系统建设的目的
  • 建立网站的教学书籍最新网站建设哪家公司好
  • 视频网站开发者工具科技网站新版网站上线
  • 网站设计简单网页百度提交网站
  • 建设企业网站网站崩溃西安百度网站快速排名
  • 前端 国外 网站请人做网站得多少钱
  • 微商如何做网站引流上海市有哪些公司
  • 服务类型网站开发需要哪些技术中国设计师网效果图
  • 电子商务网站建设技术有哪些方面做婚礼请柬的网站有哪些