- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
程序运行截图如下:
对应的表结构是这样的:
/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.7.12 : Database - laravel
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`laravel` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
USE `laravel`;
/*Table structure for table `student` */
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*Data for the table `student` */
insert into `student`(`id`,`name`,`age`) values (2,'小张',19),(3,'小明',18),(4,'小张',19);
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
源码如下:
路由web.php添加:
Route::prefix('student')->group(function(){
......
......
Route::get('qbInsert', 'StudentController@qbInsert');
Route::get('qbSelect', 'StudentController@qbSelect');
Route::get('qbModify', 'StudentController@qbModify');
Route::get('qbDelete', 'StudentController@qbDelete');
});
这个config/database.php是数据库相关的设置,目前不用改,对应mysql是这样的。
需要修改的是
.env
修改为如下:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
新建StudentController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller{
......
......
......
......
public function qbSelect(){
//get是获取所有数据
$students = DB::table('student')->get();
dd($students);
//first查询第一条数据
$student = DB::table('student')->first();
dd($student);
//first + 排序
$student = DB::table('student')
->orderBy('id', 'desc')
->first();
dd($student);
//加where
$students = DB::table('student')
->whereRaw('id >= ? and age > ?', [5, 16])
->get();
dd($student);
//pluck返回结果集中指定字段
$names = DB::table('student')->pluck('name');
dd($names);
//lists一样的效果,但可以指定某个键,作为下标
$names = DB::table('student')->lists('name', 'id');
dd($names);
//select指定查询的字段
$students = DB::table('student')->select('id', 'name', 'age')->get();
dd($students);
//chunk:每次查指定数据,比如2条,防止一次性查出,内存爆了,在某个地方停止,就return false
echo '<pre>';
DB::table('student')->chunk(2, function($students){
var_dump($students);
//条件,停止就返回false
//return false;
});
//聚合函数
var_dump(DB::table('student')->count());
var_dump(DB::table('student')->max('age'));
var_dump(DB::table('student')->min('age'));
var_dump(DB::table('student')->avg('age'));
var_dump(DB::table('student')->sum('age'));
return "qbSelect";
}
public function qbDelete(){
$num = DB::table('student')
->where('id', 2)
->delete();
var_dump($num);
$num = DB::table('student')
->where('id', '>=', 4)
->delete();
var_dump($num);
//删除所有
DB::table('student')->truncate();
return "qbDelete";
}
public function qbModify(){
$num = DB::table('student')
->where('id', 2)
->update(['age' => 50]);
DB::table('student')->increment('age', 2);
DB::table('student')->decrement('age', 3);
var_dump($num);
//同时修改
$num = DB::table('student')
->where('id', 12)
->decrement('age', 2, ['name' => '呵呵']);
var_dump($num);
return "qbModify";
}
public function qbInsert(){
$bool = DB::table('student')->insert(
['name' => '小白', 'age' => 16]
);
var_dump($bool);
$id = DB::table('student')->insertGetId(
['name' => '小黄', 'age' => 15]
);
var_dump($id);
$bool = DB::table('student')->insert([
['name' => 'name1', 'age' => 30],
['name' => 'name2', 'age' => 31]
]);
var_dump($bool);
return "qbInsert";
}
}
谁能解释一下原因: (define a (lambda() (cons a #f))) (car (a)) ==> procedure ((car (a))) ==> (procedure . #f)
这是 PyBrain 网站的摘录。我了解大部分正在发生的事情,但是一行让我完全难住了。我以前从未在 python 代码中看到过这样的东西。这是整个循环,对于上下文: for c in [0,
我是gradle / groovy的新手。我想创建将做一些事情的自定义任务。我的第一个问题是任务完成时该如何做?我可以覆盖doFirst / doLast闭包吗?也许我可以重写某些在开始和结束时都会执
我刚刚开始评估 MS 企业库。他们使用以下指令来获取实例: var customerDb = EnterpriseLibraryContainer.Current.GetInstance("C
这是我的 if else Ansible 逻辑.. - name: Check certs exist stat: path=/etc/letsencrypt/live/{{ rootDomain
我正在使用construct 2.8 对一些失传已久的 Pascal 程序创建的一些文件的 header 进行逆向工程。 header 由许多不同的记录组成,其中一些是可选的,我不确定顺序是否固定。
我在将 getchar() 的输入放入 char *arr[] 数组时遇到问题。我这样做的原因是因为输入数据(将是一个带有命令行参数的文件)将存储在一个 char 指针数组中以传递给 execvp 函
通常我们不能约束类型参数 T派生自密封类型(例如 struct 类型)。这将毫无意义,因为只有一种类型适合,因此不需要泛型。所以约束如下: where T : string 或: where T :
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
#include using namespace std; class A { private: int m_i; friend int main(int argc, char cons
这个问题在这里已经有了答案: Are there legitimate uses for JavaScript's "with" statement? (33 个答案) 关闭 9 年前。 我有这个代
在this answer我看到了下一个 Bash 结构。 yes "$(< file.txt)" 什么意思 "$(< file.txt)" ? 我明白了 命令替换 - $(command)用命令的结
if (a == 1) //do something else if (a == 2) //do something else if (a == 3) //do somethi
关于构造的快速简单的问题。 我有以下用于将项目添加到 ListView 的代码。 ListViewItem item = new ListViewItem(); item.Text = file; i
我想使用 std::vector 来控制给定的内存。首先,我很确定这不是好的做法,但好奇心占了上风,无论如何我都想知道如何做到这一点。 我遇到的问题是这样的方法: vector getRow(unsi
下面显示了一段简单的javascript: var mystring = ("random","ignored","text","h") + ("ello world") 这个字符串会生成 hello
在 Java 中,创建对象的标准方法是使用 MyClass name = new MyClass(); 我也经常看到构造 new MyClass() { /*stuff goes in here*/
我正在编写 C++ ndarray 类。我需要动态大小和编译时大小已知的数组(分别分配自由存储和分配堆栈)。我想支持从嵌套的 std::initializer_list 进行初始化。 动态大小的没问题
我正在将一个项目从 Visual Studio 2005 转换为 Visual Studio 2008,并提出了上述结构。 using Castle.Core.Resource; using Cast
我想知道我在这里的想法是否正确,我主要针对接口(interface)进行编程,所以我想知道下面的类是否应该通过 DI 注入(inject),或者我应该自己实例化一个类... 注意:这些服务保存在我的核
我是一名优秀的程序员,十分优秀!