PHP全栈学习笔记5
php与mysql数据库,PHP支持很多数据库,与mysql为牛逼组合,mysql数据库的基础知识的掌握是由必要的,要了解如何操作mysql数据库,数据表的方法。
什么是数据库,数据库能做什么,数据库有什么好处,数据库的基础必备技术,备份和恢复的方法。
mysql的好处,功能强大,支持跨平台,运行速度快,支持面向对象,成本低,支持各种开发语言,数据库存储容量大,支持强大的内置函数。
启动MySQL服务器
net start mysql
连接数据库:
mysql –u root –h127.0.0.1 –p password
断开MySQL服务器:
quit;
停止MySQL服务器:
net stop mysql;
mysqladmin –uroot shutdown –proot
数据库的操作:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名
[(create_definition,…)][table_options] [select_statement]
temporary 表示创建一个临时表
if not exists 表示表是否已经存在
create_definition 表的一些特性
select_statement 快速创建表
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
[PRIMARY KEY ] [reference_definition]
create table table_name (列名1 属性,列名2 属性…);
col_name 字段名
type 字段类型
not null | null 指出该列是否允许控制
default 表示默认值
auto_increment 表示是否自动编号
primary key 表示是否为主键
一个表只能有一个主键,如果表中没有主键,mysql会返回第一个没有任何null列的unique键,作为主键。
reference_definition 为字段添加注解
create table tb_admin (
id int auto_increment primary key,
user varchar(30) not null,
password varchar(30) not null,
createtime datetime
);
查看表结构:
SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名];
DESCRIBE 数据表名;
修改表结构:
ALTER[IGNORE] TABLE 数据表名 alter_spec[,alter_spec]…
重命名表:
RENAME TABLE 数据表名1 To 数据表名2
删除表:
DROP TABLE 数据表名;
drop table if exists 数据表名;
数据库的操作:插入已解决insert,查询select,修改update,删除记录delete。
插入记录insert
insert into 数据表名(column_name,column_name2, … ) values (value1, value2, … )
查询数据库:
select selection_llist from 数据表名 where primary_constraint group by grouping_columns order by sorting_columns having secondary_constraint limit count
表1.字段=表2.字段 and 其他查询条件
select 字段名 from 表1,表2…… where 表1.字段=表2.字段 and 其他查询条件
update 数据表名set column_name = new_value1,column_name2 = new_value2, …where condition
delete from 数据表名 where condition
数据库备份和恢复:
使用MYSQLDUMP命令,进行数据的备份。
mysql -uroot –proot db_database <F:\db_database.txt”
php操作数据库
mysql_connect()函数连接mysql服务器
mysql_select_db()函数选择数据库
mysql_query()函数执行sql语句
mysql_fetch_array()函数从数组结果集中获取信息
mysql_fetch_row()函数逐行获取结果集中的每条记录
mysql_num_rows()函数获取查询结果集中的记录数
insert动态添加
select语句查询
update动态修改
delete动态删除
MySQL是一款广受欢迎的数据库
开源的半商业软件
市场占有率高
PHP具有强大的数据库支持能力
查询,显示,插入,更新,删除
关闭MySQL服务器
每使用一次mysql_connect()或mysql_query()函数,都会消耗系统资源。
使用mysql_close()函数关闭与MySQL服务器的连接,以节省系统资源。
mysql_close($Link);
<?php
$link = mysql_connect("localhost", "root", "root") or die("用户名密码有误!".mysql_error()); //连接Mysql服务器
if($link){
echo "数据源连接成功!";
}
?>
// mysql_connect('hostname','username','password');
<?php
$link = mysql_connect("localhost", "root", "root") or die("用户名密码有误!".mysql_error()); //连接Mysql服务器
$db_selected=mysql_select_db("db_database1",$link);
//$db_selected=mysql_query("use db_database1",$link);
if($db_selected){
echo "数据库选择成功!";
}
?>
// mysql_select_db ( string数据库名[,resource link_identifier] )
// mysql_query("use数据库名"[,resource link_identifier]);
<?php
$db = array (
'server' => 'localhost',
'port' => '3306',
'username' => 'root',
'password' => 'root',
'database' => 'dashu'
);
$conn = @mysql_connect($db['server'].':'.$db['port'],$db['username'],$db['password']);
if (! $conn) {
echo "服务器不能连!" . mysql_error();
} else {
// 声明字符集
mysql_set_charset('utf8', $conn);
// 选择数据库
mysql_select_db($db['database'], $conn);
}
<?php
$link = mysql_connect("localhost", "root", "root") or die("数据库连接失败".mysql_error());
mysql_select_db("db_database",$link);
mysql_query("set names gb2312");
$sql=mysql_query("select * from tb_book");
$info= mysql_fetch_array($sql);
if($_POST[Submit] == "查询"){
$tet_book = $POST[txt_book];
$sql = mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%' ");
$info=mysql_fetch_array($sql);
}
mysql_fetch_array()函数从数组结果集中获取信息:
array mysql_fetch_array ( resource result [, int result_type] )
mysql_fetch_object()函数从结果集中获取一行作为对象
object mysql_fetch_object ( resource result )
对象
<?php echo $info -> id; ?></td>
<?php echo $info -> issuDate; ?></td>
<?php echo $info -> first_name; ?></td>
数组
<?php echo $info[id]; ?></td>
do{
}while($info=mysql_fetch_array($sql));
mysql_fetch_row()函数逐行获取结果集中的每条记录
array mysql_fetch_row ( resource result )
mysql_num_rows()函数获取查询结果集中的记录数
int mysql_num_rows ( resource result )
<?php $nums = mysql_num_rows($sql); echo $nums; ?>
PHP操作MySQL数据库
<?php
function chinesesubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}
?>
实例:
onClick="return check(form1);"
<script language="javascript">
function check(form){
if(form.txt_title.value==""){
alert("请输入公告标题!");form.txt_title.focus();return false;
}
if(form.txt_content.value==""){
alert("请输入公告内容!");form.txt_content.focus();return false;
}
form.submit();
}
</script>
<?php
$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$title=$_POST[txt_title];
$content=$_POST[txt_content];
$createtime=date("Y-m-d H:i:s");
$sql=mysql_query("insert into tb_affiche(title,content,createtime)values('$title','$content','$createtime')");
echo "<script>alert('公告信息添加成功!');window.location.href='add_affiche.php';</script>";
mysql_free_result($sql);
mysql_close($conn);
?>
<script language="javascript">
function check(form){
if(form.txt_keyword.value==""){
alert("请输入查询关键字!");form.txt_keyword.focus();return false;
}
form.submit();
}
</script>
<?php
function chinesesubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}
?>
update语句动态
<script language="javascript">
function check(form){
if(form.txt_title.value==""){
alert("公告标题不能为空!");form.txt_title.focus();return false;
}
if(form.txt_content.value==""){
alert("公告内容不能为空!");form.txt_content.focus();return false;
}
form.submit();
}
</script>
<?php
$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$id=$_GET[id];
$sql=mysql_query("select * from tb_affiche where id=$id");
$row=mysql_fetch_object($sql);
?>
<form name="form1" method="post" action="check_modify_ok.php">
<table width="520" height="212" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="87" align="center">公告主题:</td>
<td width="433" height="31"><input name="txt_title" type="text" id="txt_title" size="40" value="<?php echo $row->title;?>">
<input name="id" type="hidden" value="<?php echo $row->id;?>"></td>
</tr>
<tr>
<td height="124" align="center">公告内容:</td>
<td><textarea name="txt_content" cols="50" rows="8" id="txt_content"><?php echo $row->content;?></textarea></td>
</tr>
<tr>
<td height="40" colspan="2" align="center"><input name="Submit" type="submit" class="btn_grey" value="修改" onClick="return check(form1);"> <input type="reset" name="Submit2" value="重置"></td></tr>
</table>
</form>
<?php
$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$title=$_POST[txt_title];
$content=$_POST[txt_content];
$id=$_POST[id];
$sql=mysql_query("update tb_affiche set title='$title',content='$content' where id=$id");
if($sql){
echo "<script>alert('公告信息编辑成功!');history.back();window.location.href='modify.php?id=$id';</script>";
}else{
echo "<script>alert('公告信息编辑失败!');history.back();window.location.href='modify.php?id=$id';</script>";
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!-- 翻页条 -->
<td width="37%"> 页次:<?php echo $_GET[page];?>/<?php echo $page_count;?>页 记录:<?php echo $message_count;?> 条 </td>
<td width="63%" align="right">
<?php
/* 如果当前页不是首页 */
if($_GET[page]!=1){
/* 显示“首页”超链接 */
echo "<a href=page_affiche.php?page=1>首页</a> ";
/* 显示“上一页”超链接 */
echo "<a href=page_affiche.php?page=".($_GET[page]-1).">上一页</a> ";
}
/* 如果当前页不是尾页 */
if($_GET[page]<$page_count){
/* 显示“下一页”超链接 */
echo "<a href=page_affiche.php?page=".($_GET[page]+1).">下一页</a> ";
/* 显示“尾页”超链接 */
echo "<a href=page_affiche.php?page=".$page_count.">尾页</a>";
}
mysql_free_result($sql);
mysql_close($conn);
?>
编辑:
<?php
$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$title=$_POST[txt_title];
$content=$_POST[txt_content];
$id=$_POST[id];
$sql=mysql_query("update tb_affiche set title='$title',content='$content' where id=$id");
if($sql){
echo "<script>alert('公告信息编辑成功!');history.back();window.location.href='modify.php?id=$id';</script>";
}else{
echo "<script>alert('公告信息编辑失败!');history.back();window.location.href='modify.php?id=$id';</script>";
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?php
$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$title=$_POST[txt_title];
$content=$_POST[txt_content];
$id=$_POST[id];
$sql=mysql_query("update tb_affiche set title='$title',content='$content' where id=$id");
if($sql){
echo "<script>alert('公告信息编辑成功!');history.back();window.location.href='modify.php?id=$id';</script>";
}else{
echo "<script>alert('公告信息编辑失败!');history.back();window.location.href='modify.php?id=$id';</script>";
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
练习:
<html>
<head>
<title>新闻</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<?php
function chinesesubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}
?>
<table width="600" height="100" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFCC">
<tr>
<td width="600" height="257" align="center" valign="top" background="images/image_08.gif"><table width="579" height="271" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="579" height="50" align="center" class="word_orange"><span class="style1">热焦新闻</span></td>
</tr>
<tr>
<td height="249" align="center" valign="top"> <table width="460" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#FFFFCC" bgcolor="#DFDFDF">
<?php
$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$sql=mysql_query("select * from tb_affiche order by createtime desc limit 0,10");
$info=mysql_fetch_array($sql);
if($info==false){
echo "本站暂无公告信息!";
}
else{
$i=0;
do{
?>
<tr bgcolor="#E3E3E3">
<td height="24" align="left" bgcolor="#FFFFFF">
<?php
$i=$i+1;
echo $i."、".chinesesubstr($info[title],0,40);
if(strlen($info[title])>40){
echo "...";
}
?>
<em> [<?php echo $info[createtime];?>]</em> </td>
</tr>
<?php
}while($info=mysql_fetch_array($sql));
}
mysql_free_result($sql); //关闭记录集
mysql_close($conn); //关闭MySQL数据库服务器
?>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
封装类数据库连接,操作,分页,字符串截取
<?php
//数据库连接类
class ConnDB{
var $dbtype;
var $host;
var $user;
var $pwd;
var $dbname;
var $conn;
function ConnDB($dbtype,$host,$user,$pwd,$dbname){ //构造方法,为成员变量赋值
$this->dbtype=$dbtype;
$this->host=$host;
$this->user=$user;
$this->pwd=$pwd;
$this->dbname=$dbname;
}
function GetConnId(){ //实现与数据库的连接并返回连接对象
$this->conn=mysql_connect($this->host,$this->user,$this->pwd) or die("数据库服务器连接错误".mysql_error());
mysql_select_db($this->dbname,$this->conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312"); //设置数据库的编码格式
return $this->conn; //返回连接对象
}
function CloseConnId(){ //定义关闭数据库的方法
$this->conn->Disconnect(); //执行关闭的操作
}
}
//数据库管理类
class AdminDB{
function ExecSQL($sqlstr,$conn){ //定义方法,参数为SQl语句和连接数据库返回的对象
$sqltype=strtolower(substr(trim($sqlstr),0,6)); //截取SQL中的前6个字符串,并转换成小写
$rs=mysql_query($sqlstr); //执行SQL语句
if($sqltype=="select"){ //判断如果SQL语句的类型为SELECT
$array=mysql_fetch_array($rs); //执行该语句,获取查询结果
if(count($array)==0 || $rs==false) //判断语句是否执行成功
return false; //如果查询结果为0,或者执行失败,则返回false
else
return $array; //否则返回查询结果的数组
}elseif ($sqltype=="update" || $sqltype=="insert" || $sqltype=="delete"){
//判断如果SQL语句类型不为select、则执行如下操作
if($rs)
return true; //执行成功返回true
else
return false; //是否返回false
}
}
}
//分页类
class SepPage{
var $rs;
var $pagesize; //定义每页显示的记录数
var $nowpage; //当前页码
var $array;
var $conn;
var $sqlstr; //执行的SQL语句
var $total;
var $pagecount; //总的记录数
function ShowDate($sqlstr,$conn,$pagesize,$nowpage){ //定义方法
$arrays=array();
$array_title=array();
$array_content=array();
if(!isset($nowpage) || $nowpage=="" || $nowpage==0) //判断当前页变量值是否为空
$this->nowpage=1; //定义当前页的值
else
$this->nowpage=$nowpage; //获取当前页的值
$this->pagesize=$pagesize; //定义每页输出的记录数
$this->conn=$conn; //连接数据库返回的标识
$this->sqlstr=$sqlstr; //执行的查询语句
$this->pagecount=$pagecount; //总的记录数
$this->total=$total; //总的记录数
$this->rs=mysql_query($this->sqlstr."limit ".$this->pagesize*($this->nowpage-1).",$this->pagesize",$this->conn);
$this->total=mysql_num_rows($this->rs); //获取记录数
if($this->total==0){ //判断如果查询结果为0,则输出如下内容
return false;
}else{ //否则
if(($this->total % $this->pagesize)==0){ //判断如果总的记录数除以每页显示的记录数等于0
$this->pagecount=intval($this->total/$this->pagesize); //则为变量pagecount赋值
}else if($this->total<=$this->pagesize){
$this->pagecount=1;//如果查询结果小于等于每页记录数,那么为变量赋值为1
}else{
$this->pagecount=ceil($this->total/$this->pagesize); //否则输出变量值
}
while($this->array=mysql_fetch_array($this->rs)){
array_push($array_title,$this->array[title]);
array_push($array_content,$this->array[content]);
}
array_push($arrays,$array_title,$array_content);
return $arrays;
}
}
function ShowPage($contentname,$utits,$anothersearchstr,$class){
$allrs=mysql_query($this->sqlstr,$this->conn); //执行查询语句
$record=mysql_num_rows($allrs);
$pagecount=ceil($record/$this->pagesize); //计算共有几页
$str.="共有".$contentname." ".$record." ".$utits." 每页显示 ".$this->pagesize." ".$utits." 第 ".$this->nowpage." 页/共 ".$pagecount." 页";
$str.=" ";
$str.="<a href=".$_SERVER['PHP_SELF']."?page=1".$anothersearchstr." class=".$class.">首页</a>";
$str.=" ";
if(($this->nowpage-1)<=0){
$str.="<a href=".$_SERVER['PHP_SELF']."?page=1".$anothersearchstr." class=".$class.">上一页</a>";
}else{
$str.="<a href=".$_SERVER['PHP_SELF']."?page=".($this->nowpage-1).$anothersearchstr." class=".$class.">上一页</a>";
}
$str.=" ";
if(($this->nowpage+1)>=$pagecount){
$str.="<a href=".$_SERVER['PHP_SELF']."?page=".$pagecount.$anothersearchstr." class=".$class.">下一页</a>";
}else{
$str.="<a href=".$_SERVER['PHP_SELF']."?page=".($this->nowpage+1).$anothersearchstr." class=".$class.">下一页</a>";
}
$str.=" ";
$str.="<a href=".$_SERVER['PHP_SELF']."?page=".$pagecount.$anothersearchstr." class=".$class.">尾页</a>";
if(count($this->array)==0 || $this->rs==false)
return "";
else
return $str;
}
}
//系统常用方法
class UseFun{
function chinesesubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}
}
?>
<?php
require("system..php");
//数据库连接类实例化
$connobj=new ConnDB("mysql","localhost","root","root","db_database");
$conn=$connobj->GetConnId();
//数据库操作类实例化
$admindb=new AdminDB();
//分页类实例化
$seppage=new SepPage();
//字符串截取类
$unhtml=new UseFun();
?>
结言
好了,欢迎在留言区留言,与大家分享你的经验和心得。
感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。
感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!
PHP全栈学习笔记5的更多相关文章
- PHP全栈学习笔记18
php基础知识,JavaScript,jQuery,ajax基础知识 linux基础知识,mysql数据库的基础与优化 程序设计,PHP框架基础知识,算法,逻辑思维,高并发 PHP基础知识 引用变量, ...
- PHP全栈学习笔记29
前言 这一章主要讲一讲PHP的背景,优势,PHP的环境搭建,书写和调式简单的PHP代码,如何解决简单的PHP错误等. 目录结构 PHP简介 PHP是面向对象,指令式编程,设计者是 拉斯姆斯·勒多夫 出 ...
- PHP全栈学习笔记13
php与ajax技术 web2.0的到来,ajax逐渐成为主流,什么是ajax,ajax的开发模式,优点,使用技术.(ajax概述,ajax使用的技术,需要注意的 问题,在PHP应用ajax技术的应用 ...
- PHP全栈学习笔记12
php简介,php历史,php后端工程师职业前景,php技术方向,php后端工程师职业体系介绍. php是世界上使用最广泛的web开发语言,是超文本预处理器,是一种通用的开源脚本语言,语法吸收了c语言 ...
- PHP全栈学习笔记17
phpmyadmin教程 管理页进入phpmyadmin 打开C:\wamp\apps\phpmyadmin3.5.1下的配置文件:config.inc 修改密码 创建与修改数据库.数据表 字段类型 ...
- PHP全栈学习笔记16
<?php $fileName = "php大师.test.php"; //补充程序,显示文件名(不包括扩展名) $start = strrpos($fileName, &q ...
- PHP全栈学习笔记15
PHP标记风格 PHP一共支持4种标记风格 <?php echo "这是XML风格的标记"; ?> 脚本风格 <script language="php ...
- PHP全栈学习笔记14
一.搭建PHP开发环境 Apahce服务器 Dreamwear创建站点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
- PHP全栈学习笔记11
连接MySQL mysql_connect(servername,username,password); 面向对象: <?php $servername = "localhost&qu ...
- PHP全栈学习笔记10
php常量,常量是不能被改变的,由英文字母,下划线,和数字组成,但是数字不能作为首字母出现. bool define ( string $name , mixed $value [, bool $ca ...
随机推荐
- Spring Web工程web.xml零配置即使用Java Config + Annotation
摘要: 在Spring 3.0之前,我们工程中常用Bean都是通过XML形式的文件注解的,少了还可以,但是数量多,关系复杂到后期就很难维护了,所以在3.x之后Spring官方推荐使用Java Conf ...
- js中闭包来实现bind函数的一段代码的分析
今天研究了一下bind函数,发现apply和call还可以有这样的妙用,顺便巩固复习了闭包. var first_object = { num: 42 }; var second_object = { ...
- Canvas的基本用法
canvas没有设置宽度和高度的时候,会初始化宽度:300像素和高度:150像素.可以使用CSS来定义大小,但在绘制时图像会伸缩以适应它的框架尺寸:如果CSS的尺寸与初始画布的比例不一致,它会出现扭曲 ...
- MySQL中的replace语句
一.背景 当使用replace语句更新access_apps表时,原有的mark列.remark列的信息丢失. CREATE TABLE `access_apps` ( `base` varcha ...
- Oracle中的decode()函数
一.decode()函数 1.语法 DECODE(control_value,value1,result1[,value2,result2-][,default_result]); control _ ...
- mysql binlog格式
Binlog Event 对于一个 Binlog Event 来说,它分为三个部分,header,post-header 以及 payload.MySQL 的 Binlog Event 有很多版本,我 ...
- BZOJ_3170_[Tjoi2013]松鼠聚会_切比雪夫距离+前缀和
BZOJ_3170_[Tjoi2013]松鼠聚会_切比雪夫距离+前缀和 题意:有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点, ...
- Vue-CLI和脚手架
但我们学习Vue时,很多教程都会说到用Vue-CLI构建项目,那么什么是脚手架?什么是Vue-CLI?为什么要用脚手架,好处在哪?以及为何我们用Vue开发项目时要用到Vue-CLI? 首先,CLI为c ...
- java对象与Json字符串之间的转化(fastjson)
1. 首先引入jar包 在pom.xml文件里加入下面依赖: <dependency> <groupId>com.alibaba</groupId> <art ...
- ASP.NET Core2.2+Quartz.Net 实现web定时任务
作为一枚后端程序狗,项目实践常遇到定时任务的工作,最容易想到的的思路就是利用Windows计划任务/wndows service程序/Crontab程序等主机方法在主机上部署定时任务程序/脚本. 但是 ...