test

使用MyBatis编写Dao的两种语法

≯℡__Kan透↙ 提交于 2020-03-29 07:55:12
原文链接: http://www.yiidian.com/mybatis/mybatis-dao.html 在MyBatis中,我们有两种Dao的写法,一种叫传统Dao写法,一种叫Mapper代理接口。下面看看如何实现。 1 传统Dao写法 1.1 编写CustomerDao接口 package com.yiidian.dao; import com.yiidian.domain.Customer; import java.util.List; /** * Dao接口 *一点教程网 - www.yiidian.com */ public interface CustomerDao { /** * 查询所有用户 */ public List<Customer> findAll(); /** * 添加 */ public void save(Customer customer); /** * 修改 */ public void update(Customer customer); /** * 查询一个 */ public Customer findById(Integer id); /** * 条件查询 */ public List<Customer> findByName(String name); /** * 删除 */ public void delete(Integer id)

Rails 命令大全

╄→尐↘猪︶ㄣ 提交于 2020-03-29 07:40:09
一.铁道 1.1 创建一个Rails应用程序 $ rails app_name 可选项: -d, database=xxx 指定安装一个数据库(mysql oracle postgresql sqlite2 sqlite3 ), 默认情况下是数据库 -r, ruby-path= 指定Ruby的安装路径,如果没有指定,scripts使用env去找Ruby -f, freeze (冻结)freezes Rails在vendor/rails目录 1.2 API Documentation $ gem_server 启动一个WEBrick服务器。这时候你可以通过Http://localhost:8808/ 打开浏览器去查看rails API文档 1.3 Rake rake db:fixtures:load # 载入fixtures到当前环境的数据库 # 载入指定的fixtures使用FIXTURES=x,y rake db:migrate # 迁移数据库通过在db/migrate目录下的脚本.可以指定版本号通过VERSION=x rake db:schema:dump # 创建一个db/schema.rb文件,通过AR能过够支持任何数据库去使用 rake db:schema:load # 再入一个schema.rb文件进数据库 rake db:sessions:clear #

爬虫之爬汽车之家

孤人 提交于 2020-03-29 00:55:21
一、话说爬虫   先说说爬虫,爬虫常被用来抓取特定网站网页的HTML数据,定位在后端数据的获取,而对于网站而言,爬虫给网站带来流量的同时,一些设计不好的爬虫由于爬得太猛,导致给网站来带很大的负担,当然再加上一些网站并不希望被爬取,所以就出现了许许多多的反爬技术。 二、 安装 模块 1. requests 模块安装方法: pip3 install requests 2、beautisoup模块 软件安装方法: pip3 install beautifulsoup4 或 pip3 install bs4 3、lxml模块 #必须先安装whell依赖 (请换成国内pip源进行安装,否则容易报错)pip install wheel #在cmd中,输入python进入python。 然后输入import pip;print(pip.pep425tags.get_supported()),界面上输出当前python的版本信息,如图。 再跟据上面查到的版本信息,找到下面对应的版本进行安装。 #下载地址:https://pypi.python.org/pypi/lxml/3.7.3 (网站打不开,请翻墙,就可以打开)#python3.5就选择cp3m版本 lxml-3.7.3-cp35-cp35m-win32.whl#安装方法pip3 install lxml-3.6.4-cp35-cp35m

springboot 集成单元测试

谁都会走 提交于 2020-03-28 20:20:49
官网参考地址 1. 添加依赖 <!-- 测试 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 添加完依赖以后如果POM文件中报错,类型 Failure to transfer org.hamcrest:hamcrest-core:jar:1.3 .... was chached in the local repository 这是说在本地有缓存,把本地repository里对应的包删除掉,然后右键项目->maven->update project,报哪个包的错就删掉那个包。 造成这个错误的原因是对应的包下存在有 .lastupdated文件,删掉这些文件就可以。 stackoverflow 上有类似解决办法。 2.简单JAVA测试 在方法上加@Test注解,run as Junit即可 package UtilitiesTest; import org.junit.Assert; import org.junit.Test; public class SimpleJavaTest { @Test public void EquelTest(){

7.数组

荒凉一梦 提交于 2020-03-28 17:25:52
一、数组的概述 1.定义   多个相同数据类型的数据按照一定的顺序排列的集合,使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 2.特点   ①数组是有序排列的;   ②数组本身是引用数据类型,数组中的元素既可以是基本数据类型,也可以是引用数据类型;   ③创建数组会在内存中开辟一整块连续的空间,而数组通过数组名引用的是这块连续空间的首地址;   ④数组一旦初始化完成,其长度就确定了;数组的长度一旦确定,就不能修改;   ⑤通过索引来访问数组中的元素,速度很快 3.分类 按照维数:一维数组、二维数组、多维数组 按照数组中元素的类型:基本数据类型元素的数组、引用数据类型元素的数组 二、一维数组 1.一维数组的声明和初始化 public class test { public static void main(String[] args) { //数组的声明 int[] arr1; String arr2[]; //数组的静态初始化 arr1 = new int[]{1, 2, 3}; //数组的动态初始化 arr2 = new String[4]; //声明+初始化 int[] arr3 = new int[3]; //类型推断 String[] arr4 = {"str1", "str2", "str3"}; } } 2.访问一维数组中的元素 public class

css3选择器

﹥>﹥吖頭↗ 提交于 2020-03-28 16:53:35
CSS3 css3属性选择器 根据属性名查找某个标签(E[attr]),代码如下 <style> p {height: 30px; border: 1px solid black;} // 查找含有属性test的p标签 p [test] {background: red;} </style> <body> <p test="dhl">dhl</p> <p test="xb">xiaobei</p> </body> 查找某个属性名为固定值的某个标签(E[attr="value"]),测试代码如下: <style> p {height: 30px; border: 1px solid black;} // 查找test属性值为dhl的p标签 p [test="dhl"] {background: red;} </style> <body> <p test="dhl">dhl</p> <p test="xb">xiaobei</p> </body> E[attr~="value"] 指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表包含了一个value词,而且等号前面的"~"不能不写,详细代码如下: <style> p {height: 30px; border: 1px solid black;} // 查找含有属性test

Python中*args和**kwargs的区别

亡梦爱人 提交于 2020-03-28 15:25:36
一、*args的使用方法 *args 用来将参数打包成tuple给函数体调用 def args_test(x, y, *args): print(x, y, args) args_test(1,2,3,4,5)1 2 (3, 4, 5) 二、**kwargs的使用方法 **kwargs 打包关键字参数成dict给函数体调用 def kwargs_test(**kwargs): print(kwargs) kwargs_test(a=1, b=2, c=3){'a': 1, 'c': 3, 'b': 2} 三. 参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。 def param_test(arg, *args, **kwargs): print(arg, args, kwargs) param_test(1, 3, 5, a=6, b=9)1 (3, 5) {'b': 9, 'a': 6} 来源: https://www.cnblogs.com/bob-coder/p/11532599.html

SQL*Loader

梦想与她 提交于 2020-03-28 15:21:47
SQL*Loader 1外部表简介 ⑴外部表并不实际存在,外部文件中的数据字段只是映射的外部表列,并不是实际装载到其中 ⑵涉及外部表,只能用select,不能用insert、update、delete ⑶外部表是只读表,不能进行索引 2.SQL*Loader生成外部表创建语句 external_table=not_used 默认值 external_table=generate_only不装载任何数据, 而是生成控制文件中描述的装载外部表所需的所有SQL语句, 并将这些SQL语句放入SQL*Loader日志文件 external_table=execute 执行这些SQL语句以创建外部表并进行装载 external_table=generate_only选项在SQL*Loader日志文件中输出一下信息: ①create directory语句 ②外部表的完整create table语句,并带有必要的access parameters ③装载Oracle表的insert语句 ④目录和外部表的delete语句 创建test_emp表 SCOTT@ora11g>select dbms_metadata.get_ddl('TABLE','EMP') from dual; DBMS_METADATA.GET_DDL('TABLE','EMP') -----------------------

Mybatis 动态SQL

一个人想着一个人 提交于 2020-03-28 08:42:14
Mybatis 动态SQL,通过 if, choose, when, otherwise, trim, where, set, foreach等标签,可组合成非常灵活的SQL语句,从而在提高 SQL 语句的准确性的同时,也大大提高了开发人员的效率。 以 User 表为例来说明: 1、 if 语句 根据 username 和 sex 来查询数据。如果username为空,那么将只根据sex来查询;反之只根据username来查询 首先不使用 动态SQL 来书写 <select id="selectUserByUsernameAndSex" resultType="user" parameterType="com.ys.po.User"> <!-- 这里和普通的sql 查询语句差不多,对于只有一个参数,后面的 #{id}表示占位符,里面不一定要写id, 写啥都可以,但是不要空着,如果有多个参数则必须写pojo类里面的属性 --> select * from user where username=#{username} and sex=#{sex} </select> 上面的查询语句,我们可以发现,如果 #{username} 为空,那么查询结果也是空,如何解决这个问题呢?使用 if 来判断 <select id="selectUserByUsernameAndSex"

Sql 学习笔记

醉酒当歌 提交于 2020-03-28 04:20:01
一、数据库的基本操作 1. 数据库的创建 If Exists(Select Name from SysDatabases Where Name='Gmis_2009') Drop DataBase Gmis_2009 Go Create Database Gmis_2009 On Primary ( Name=Gmis_2009_data, FileName='C:\program Files\Data\Gmis_2009.mdf', Size=10MB, Filegrowth=1MB ), Filegroup FileGroup_Gmis_2009_1 ( Name=Gmis_2009_data_1, FileName='C:\programFiles\Data\Gmis_2009_data_1.ndf', Size=2MB, MaxSize=10MB, FileGrowth=1MB ), ( Name=Gmis_2009_data_2, FileName='C:\program Files\Data\Gmis_2009_data_2.ndf', Size=2MB, MaxSize=10MB, FileGrowth=1MB ), FileGroup FileGroup_Gmis_2009_2 ( Name=Gmis_2009_data_3, FileName='C: