jython mysql_Jython

gomysql

status.png

###介绍

gomysql是基于go-sql-driver基础上开发的orm,这是一个轻量级的库。它会使数据库的增删改查变得非常容易。当然也是测试开发版,会一直优化和更新!请时刻关注我们

###安装

go get github.com/go-sql-driver/mysql

go get github.com/widuu/goini

go get github.com/widuu/gomysql

###依赖的包

###使用教程

设置配置文件

[database]

username = mysql username

password = mysql password

hostname = mysql host

charset = mysql charset

database = database name

port = mysql port

初始化配置

c, _ := gomysql.SetConfig("./conf/conf.ini") //根据配置文件,连接数据库

查询数据

t := c.SetTable("user") //设置要处理的表名

data := t.FindOne() //查询表的一条数据,返回map[int]map[string]string格式

gomysql.Print(data) //打印数据信息,返回如下截图的数据格式

f31fb50c607fb0488950f2a871090c84.png

data := t.Fileds("id", "password", "username").Where("id =12").FindOne() //Fileds 查询字段,Where where条件FindOne()查询一条

//limit sql中的limit OrderBy sql中查询的OrderBy

data = c.SetTable("user").Fileds("id", "password", "username").Where("id>1").Limit(1, 5).OrderBy("id Desc").FindAll()

data = t.FindAll() //查询所有数据,其中OrderBy() Limit() Where() Fileds()等设置条件

gomysql.Print(data) //查询的数据都可以用Print()方法友好打印出来信息

添加数据

var value = make(map[string]interface{}) //设置map存储数据,map[key]value

value["password"] = "mima3"

value["username"] = "xiaowei"

value["id"] = 10

t := c.SetTable("user") //设置增加的数据表

t.SetPk("id") //设置主键自增的字段名称

i,err := t.Insert(value) // 插入数据,返回增加个数和错误信息。返回最后增长的id和错误信息

修改数据

var value = make(map[string]interface{})

value["password"] = "mima3"

value["username"] = "xiaowei"

n, err := c.SetTable("user").Where("id =5").Update(value) //设置表,条件和修改的内容,返回影响条数和错误信息

删除数据

n, err := c.SetTable("user").Delete("id = 6") //设置删除的表和数据,返回影响条数和错误信息

关联操作

INNER JOIN

t := c.SetTable("user")

//下面相当于sql语句,打印出是Select user.id,data.keywords,user.username,user.password from user INNER JOIN data ON user.id = data.id

data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").Join("data", "user.id = data.id").FindAll()

fmt.Println(data)

LEFT JOIN

t.Fileds("user.id", "data.keywords", "user.username", "user.password").LeftJoin("data", "user.id = data.id").FindAll()

fmt.Println(data)

RIGHT JOIN

t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()

fmt.Println(data)

FULL JOIN

data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()

fmt.Println(data)

自定义sql语句

// Query()方法 是自定义sql语句的

insert类型的数据

n := t.Query("INSERT INTO user (`username`,`password`) VALUES ('xiaoweitest','xiaowei')") //返回最后增长的id

update|delete

//update

n := c.Query("update user set username='ceshishenma' where id =17 ")

fmt.Println(n) //1 返回受影响行数

//delete

n := c.Query("delete from user where id=16 ")

fmt.Println(n) //1 返回受影响行数

select

data := c.Query("select username,password from user")

fmt.Println(data) //返回map[int]map[string]string 结构的所有数据

关闭数据库

c.DbClose() //关闭数据库

##English Document

###Introduction

Gomysql is based on the go - SQL - driver based on orm, this is a lightweight library.It allows the database to add delete very easily.Of course is also testing the development version, will continue to optimize and update!Please attention to us

###Install

go get github.com/widuu/gomysql

###Rely on the package

###Using the tutorial

Set the configuration file

[database]

username = mysql username

password = mysql password

hostname = mysql host

charset = mysql charset

database = database name

port = mysql port

Initialize the configuration

c, _ := gomysql.SetConfig("./conf/conf.ini") //According to the configuration files, connect to the database

Query data

t := c.SetTable("user") //set up the table name

data := t.FindOne() //A data query,return map[int]map[string]string format

gomysql.Print(data) //Print data information, and return the following screenshots data formats

f31fb50c607fb0488950f2a871090c84.png

data := t.Fileds("id", "password", "username").Where("id =12").FindOne() //Fileds Query field,Where where conditions FindOne() query a data

//limit - sql limit,OrderBy - sql OrderBy

data = c.SetTable("user").Fileds("id", "password", "username").Where("id>1").Limit(1, 5).OrderBy("id Desc").FindAll()

data = t.FindAll() //Query all the data, including OrderBy () Limit () the Where () Fileds () set conditions

gomysql.Print(data) //Query data can use the Print () method of friendly printed information

Insert data

var value = make(map[string]interface{}) //Set the map data is stored, the map [key] the value

value["password"] = "mima3"

value["username"] = "xiaowei"

value["id"] = 10

t := c.SetTable("user") //Set up to increase the data tables

t.SetPk("id") //Set the primary key on the field name

i,err := t.Insert(value) // Insert data, returns the number increase and error information.Returns the last growth id and error message

Updata data

var value = make(map[string]interface{})

value["password"] = "mima3"

value["username"] = "xiaowei"

n, err := c.SetTable("user").Where("id =5").Update(value) //Set the table, the condition and modify the content of the article returns affect the number and the error information

Delete data

n, err := c.SetTable("user").Delete("id = 6") //Article, set the table and data delete, return to influence the number and the error information

Associated operation

INNER JOIN

t := c.SetTable("user")

//Equivalent to a SQL statement below, print out is

//Select user.id,data.keywords,user.username,user.password from user INNER JOIN data ON user.id = data.id

data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").Join("data", "user.id = data.id").FindAll()

fmt.Println(data)

LEFT JOIN

t.Fileds("user.id", "data.keywords", "user.username", "user.password").LeftJoin("data", "user.id = data.id").FindAll()

fmt.Println(data)

RIGHT JOIN

t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()

fmt.Println(data)

FULL JOIN

data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()

fmt.Println(data)

自定义sql语句

// Query()function Is a custom SQL statement

insert

n := t.Query("INSERT INTO user (`username`,`password`) VALUES ('xiaoweitest','xiaowei')") //Return the id of the growth

update|delete

//update

n := c.Query("update user set username='ceshishenma' where id =17 ")

fmt.Println(n) //1 Return the affected rows

//delete

n := c.Query("delete from user where id=16 ")

fmt.Println(n) //1 Return the affected rows

select

data := c.Query("select username,password from user")

fmt.Println(data) //return map[int]map[string]string All of the data structure

Close the database

c.DbClose() //close the database

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java人种_Java面向对象练习题继承之人种

//People类package 继承;public class People {private String name;private double height;private double weight;public String getName() {return name;}public void setName(String name) {this.name name;}public double getHeight() {return height;}public void setHe…

java高校职工工资管理论文_毕业设计论文java大学工资管理系统

毕业设计论文java大学工资管理系统 本 科 生 毕 业 论 文(设 计)题 目:大学工资管理系统 学 号: _________姓 名: ____ ___年 级: ___________学 院: ____ ___系 别: ___ ____专 业: ___ __完成…

mysql 冷热表_Redis+MySQL冷热数据交换

场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况这个场景可以使用redismysql冷热数据交换来解决。何为冷热数据交换?冷数据:之前使用的…

关于包装java_[java初探09]__关于java的包装类

前言在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想又是面向对象的.那么在Java语言中,是否能够解决这个问题,使基本数据类型能够以对象…

能跑java的服务器_一台java服务器可以跑多少个线程?

一台java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值。京东自研UMP监控分析打出jstack文件,通过IBM Thread and Monitor Dump Analyzer for Java工具查看如下:IBM Thread and Monitor Dump Analyz…

php取json子对象属性,php中输出json对象的值(实现方法)

实例如下所示:$json {"report":{"date":"2012-04-10","content":"abcdefght"}};$arr (array) json_decode($json,true);echo 当前日期是:. $arr[report][date];echo "";echo ;print_r($a…

php mysql 表关联,mysql的多表关联_MySQL

bitsCN.commysql的多表关联数据库中经常要用到多个表的关联。mysql的关联主要包括inner join,left join,right join三种,下面分别加以介绍,并举例说明。顾名思义,inner join集合了两个表的信息,只有都包含的…

ulink php,【转载】15款USB数字界面横向评测(对比顶级CD转盘)!多看点!

还有一则有趣的回帖,一位纽约的烧友认为作者没有尝试何庆华最新的数字界面非常可惜,他认为何先生自主开发的DI-V3电源套件非常之牛,甚至超过了AP1PP的水准(不少人认为这个组合有一点点过于分析,不如何先生的作品水润)。他认为以他…

php取掉字符串第一位支付,php怎样去掉字符串中的第一个字符

php去掉字符串中的第一个字符的方法:可以利用substr()函数来实现。substr()函数可以返回字符串的提取部分,如果失败则返回false,或者返回一个空字符串。substr() 函数返回字符串的提取部分,如果失败则返回 FALSE,或者返…

matlab求距离判别函数,求MATLAB的逐步判别程序 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

somomo91你不觉得信息量太少了么?摸不着头脑,zhouxiaobo是啊,信息量太少,LZ能详细描述一下你的问题吗或者直接给出你的数据和要求2012jxyl引用回帖:zhouxiaobo at 2013-06-06 09:44:49是啊,信息量太少,LZ能…

php验证码背景图是数字,ThinkPHP5.0.20验证码背景图片

tp5配置验证码相关问题一、验证码背景图片及tp中文验证码5.0.1及以上支持者在应用配置目录(application)下面 extra 子目录内配置captcha.php文件;配置参数如下:2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY,// 验证码字体大小(px)fontSize &g…

c mysql安装教程,Mysql安装教程_完成版(吐血式安装)

每次在不同操作系统中安装oracle和mysql这些常规数据库,步骤就那么点儿,但是遇见的错误却是千差万别。。记一次耗时两天的mysql数据库安装新得,有耐心,有毅力,憋生气。1.官网上下载免安装的版本(也就是下载下来直接解压…

oracle替代变量输出,【Oracle】替代变量

1.替代变量通常而言,替代变量的前缀是&或者&&区别:& 用来创建一个临时变量,每当遇到这个临时变量时,都会提示你输入一个值&&用来创建一个持久变量,当用&&命令引用这个变量时&#xff…

oracle 常用故障,Oracle常见问题解决方案汇总

1、Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务数据库服务器崩了,而且尝试重启服务和重启机器都解决不了问题打开cmd窗口C:\Users\hxt>sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on 星期三 12月 5 11:39:54 2018Co…

特洛伊木马脚本linux,手动查杀特洛伊木马

首先也是最重要的,重新启动电脑到安全模式下,让所有文件都可见。然后进入到C:看看根目录是否存在不熟悉的文件,如果有,且日期为发现中毒现象当天,则删除之。接着到c:\windows,首先按照修改时间顺序排列图标…

linux添加虚拟硬盘命令,虚拟机linux扩盘命令操作

虚拟机linux扩展硬盘分原有硬盘上增加及新增硬盘,二者实现差不多。扩盘:fdisk -l查看是哪个盘扩盘了,如sdb重启后,将sdb刷新pv: pvresize /dev/sdb,pvdisplay查看是否增加了,再将逻辑卷分区VG(L…

mac ssh远程登录linux,MAC使用SSH远程登录

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?Sun 20 December 2015tags: 备忘录MAC使用SSH远程登录打开sshMac Terminal是自带SSH的,可以用whereis来看看$ whereis ssh但是在现有进程中是找不到ssh…

四叶草引导windows和linux,Windows环境下使用Clover四叶草引导双硬盘安装OSX 10.11.5原版镜像...

作为一个穷逼大学生,想搞iOS开发 买不起Mac只能鼓捣鼓捣黑苹果啦。。。。。。。。之前我的电脑通过变色龙引导的方式装了个OSX10.10和win8.1双系统,因为自学的是Swift语言之前装的OSX10.10.4的Xcode(6.多版本的)只支持到Swift1.2,所以现在要装…

linux bash 字符串 连接,Linux Bash 中字符串操作

Linux Bash 中字符串操作所谓 "子字符串" 就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 test" 的子字符串. 我们有多种方法可以从中把数字或指定部分字符串抽取出来.本文会向你展示在 bash shell 中如何获取或者说查找出子…

maven下载源码linux,Maven 下载 源码和javadoc 命令

摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容。一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl 点击对应的方法即可进入对应的源码部分。但是有些时候很多依赖项并不会默认下载对应的源码,因…