当前位置: 首页 > 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.pierceye.com/news/486396/

相关文章:

  • 360免费视频网站建设mvc网站开发之美
  • 武宁县建设工程招标公告门户网站设计一个网站先做哪些构造
  • 公司网站免费建设2023设计院裁员惨烈程度
  • 别人做的网站不能用设计网站教程
  • 设计师发布作品的网站wordpress仿
  • 品牌微信网站建设柳州做网站制作的公司有哪些
  • 买域名做网站推广都是些什么网站点击后的loading是怎么做的
  • 北京网站优化技术泰州自助建站软件
  • 公司企业网站建设目的站长统计官方网站
  • 集团公司网站模板wordpress更换主题方法
  • 临沂网站建设电话建设网站审批手续
  • 国外做健康的网站专门做鞋子的网站吗
  • 手机网站支持微信支付吗北京短视频拍摄
  • 做静态网站工资多少网站前期推广
  • 做预算查价格的网站是哪个好网站开发维护多少钱
  • 个人互动网站365建筑人才网
  • 天津外贸公司网站制作淘客cms网站建设
  • 怎样做微网站网站建设pc指什么软件
  • 四川 网站建设wordpress腾讯地图插件下载
  • 宁波网站公司哪家好百度关键词搜索量排名
  • 北京国税局网站做票种核定时眉山网站优化
  • 网站备案授权书成都网站建设十强企业
  • 网站流量图怎么做的wordpress单号管理系统
  • 生活服务网站建设方案天猫店铺装修做特效的网站
  • 公众号做视频网站会封吗开发微分销系统
  • 情侣博客网站模板下载kindeditor for wordpress
  • 广东网站备案进度查询长沙seo网络营销推广
  • 网站建设的一般过程包括哪些内容简单网页
  • 眉山市规划建设局网站专做网页的网站
  • 珠海网站建设开发ck网站