Maven+Mybatis一些简单例子
一、创建maven工程
把依赖的包写在pom.xml中。保存后,工程会有错,需要在工程上右键选择“Maven-->Update Project”
pom.xml内容为
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.mybatis</groupId>
<artifactId>example</artifactId>
<version>0.0.1-SNAPSHOT</version> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency> <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency> <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency> <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency> <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
pom.xml
二、简单的例子
①创建数据库mybatis,创建表sys_user,sys_role,sys_user_role,并插入数据
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户Id',
`user_name` varchar(50) DEFAULT NULL COMMENT '用户名',
`user_password` varchar(50) DEFAULT NULL COMMENT '密码',
`user_email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`user_info` text COMMENT '简介',
`head_img` blob COMMENT '头像',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表'; INSERT INTO `sys_user` VALUES ('', 'admin', '', 'admin@mybatis.tk', '管理员', null, '2018-11-30 17:00:00');
INSERT INTO `sys_user` VALUES ('', 'test', '', 'test@mybatis.org', 'test info', 0x7B, '2018-12-05 13:45:45'); -- ----- CREATE TABLE `sys_role` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色Id',
`role_name` varchar(50) DEFAULT NULL COMMENT '用户名',
`enabled` int(11) DEFAULT NULL COMMENT '有效标识',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色表'; INSERT INTO `sys_role` VALUES ('', '管理员', '', '', '2018-11-30 17:05:00');
INSERT INTO `sys_role` VALUES ('', '普通用户', '', '', '2018-11-30 17:05:01'); -- ------ CREATE TABLE `sys_user_role` (
`user_id` bigint(20) DEFAULT NULL COMMENT '用户Id',
`role_id` bigint(20) DEFAULT NULL COMMENT '角色Id'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户角色关联表'; INSERT INTO `sys_user_role` VALUES ('', '');
INSERT INTO `sys_user_role` VALUES ('', '');
INSERT INTO `sys_user_role` VALUES ('', '');
db.sql
②创建mybatis配置文件mybatis-config.xml,位置src/main/resources下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<package name="org.mybatis.example.model"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC">
<property name="" value=""/>
</transactionManager>
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- <package name="org.mybatis.example.mapper"/> -->
<mapper resource="org/mybatis/example/mapper/UserMapper.xml"/>
<mapper resource="org/mybatis/example/mapper/RoleMapper.xml"/>
</mappers>
</configuration>
mybatis-config.xml
③创建model,SysUser,SysRole和SysUserRole,位置src/main/java下,包org.mybatis.example.model
package org.mybatis.example.model; import java.util.Date; public class SysUser { private Long id;
private String userName;
private String userPassword;
private String userEmail;
private String userInfo;
private byte[] headImg;
private Date createTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String getUserInfo() {
return userInfo;
}
public void setUserInfo(String userInfo) {
this.userInfo = userInfo;
}
public byte[] getHeadImg() {
return headImg;
}
public void setHeadImg(byte[] headImg) {
this.headImg = headImg;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
} }
SysUser.java
package org.mybatis.example.model; import java.util.Date; public class SysRole { private Long id;
private String roleName;
private int enabled;
private Long createBy;
private Date createTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public int getEnabled() {
return enabled;
}
public void setEnabled(int enabled) {
this.enabled = enabled;
}
public Long getCreateBy() {
return createBy;
}
public void setCreateBy(Long createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
} }
SysRole.java
package org.mybatis.example.model; public class SysUserRole { private Long userId;
private Long roleId;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
} }
SysUserRole.java
④创建映射的xml文件,UserMapper.xml,位置src/main/resources/org/mybatis/example/mapper下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.mybatis.example.mapper.UserMapper"> <select id="selectUserById" resultMap="selectUserMap">
select * from sys_user where id = #{id}
</select> <resultMap type="org.mybatis.example.model.SysUser" id="selectUserMap">
<id property="id" column="id" />
<result property="userName" column="user_name"/>
<result property="userPassword" column="user_password"/>
<result property="userEmail" column="user_email"/>
<result property="userInfo" column="user_info"/>
<result property="headImg" column="head_img" jdbcType="BLOB"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap> </mapper>
UserMapper.xml
⑤创建Mapper的接口,UserMapper.java,位置src/main/java下,包org.mybatis.example.mapper
package org.mybatis.example.mapper; import org.mybatis.example.model.SysUser; public interface UserMapper { SysUser selectUserById(Long id); }
UserMapper.java
⑥创建测试程序,TestSelectMapper.java,位置src/main/java下,包org.mybatis.example.app
package org.mybatis.example.app; import java.io.IOException;
import java.io.Reader;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mybatis.example.mapper.RoleMapper;
import org.mybatis.example.mapper.UserMapper;
import org.mybatis.example.model.SysRole;
import org.mybatis.example.model.SysUser; import junit.framework.Assert; public class TestSelectMapper { private static SqlSessionFactory sqlSessionFactory; @BeforeClass
public static void init() {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
} @Test
public void testSelectUserById() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
SysUser sysUser = userMapper.selectUserById(1L);
Assert.assertNotNull(sysUser);
Assert.assertEquals("admin", sysUser.getUserName());
System.out.println(sysUser.toString());
} finally {
sqlSession.close();
}
}
}
TestSelectMapper.java
三、综合增删改查
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.mybatis.example.mapper.UserMapper"> <select id="selectUserById" resultMap="selectUserMap">
select * from sys_user where id = #{id}
</select> <resultMap type="org.mybatis.example.model.SysUser" id="selectUserMap">
<id property="id" column="id" />
<result property="userName" column="user_name"/>
<result property="userPassword" column="user_password"/>
<result property="userEmail" column="user_email"/>
<result property="userInfo" column="user_info"/>
<result property="headImg" column="head_img" jdbcType="BLOB"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap> <select id="selectAllUsers" resultType="org.mybatis.example.model.SysUser">
select user_name userName, user_password userPassword,
user_email userEmail, user_info userInfo,
user_info userInfo, head_img headImg,
create_time createTime from sys_user
</select> <insert id="insertAUser">
insert into sys_user (id, user_name, user_password, user_email, user_info, head_img, create_time) values
(#{id}, #{userName}, #{userPassword}, #{userEmail}, #{userInfo}, #{headImg, jdbcType=BLOB},
#{createTime, jdbcType=TIMESTAMP})
</insert> <insert id="insertAUserWithoutId" useGeneratedKeys="true" keyProperty="id">
insert into sys_user (user_name, user_password, user_email, user_info, head_img, create_time) values
(#{userName}, #{userPassword}, #{userEmail}, #{userInfo}, #{headImg, jdbcType=BLOB}, #{createTime, jdbcType=TIMESTAMP})
</insert> <update id="updateAUser">
update sys_user set
user_name = #{userName},
user_email = #{userEmail},
user_info = #{userInfo},
create_time = #{createTime, jdbcType=TIMESTAMP}
where id = #{id}
</update> <delete id="deleteAUser">
delete from sys_user where id = #{id}
</delete> </mapper>
UserMapper.xml
package org.mybatis.example.mapper; import java.util.List; import org.mybatis.example.model.SysUser; public interface UserMapper { SysUser selectUserById(Long id);
List<SysUser> selectAllUsers(); int insertAUser(SysUser sysUser);
int insertAUserWithoutId(SysUser sysUser); int updateAUser(SysUser sysUser);
int deleteAUser(Long id);
}
UserMapper.java
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.mapper.RoleMapper">
<select id="selectRolesByUserId" resultType="org.mybatis.example.model.SysRole">
select r.id,
r.role_name roleName,
r.enabled,
r.create_by createBy,
r.create_time createTime
from sys_user u
inner join sys_user_role ur on u.id = ur.user_id
inner join sys_role r on r.id = ur.role_id
where u.id = #{userId}
</select> <select id="selectRolesByUserIdAndRoleEnabled" resultType="org.mybatis.example.model.SysRole">
select r.id,
r.role_name roleName,
r.enabled,
r.create_by createBy,
r.create_time createTime
from sys_user u
inner join sys_user_role ur on u.id = ur.user_id
inner join sys_role r on r.id = ur.role_id
where u.id = #{userId} and r.enabled = #{enabled}
</select>
</mapper>
RoleMapper.xml
package org.mybatis.example.mapper; import java.util.List; import org.apache.ibatis.annotations.Param;
import org.mybatis.example.model.SysRole; public interface RoleMapper { List<SysRole> selectRolesByUserId(Long id);
List<SysRole> selectRolesByUserIdAndRoleEnabled(
@Param("userId") Long userId,
@Param("enabled") int enabled);
}
RoleMapper.java
package org.mybatis.example.app; import java.io.IOException;
import java.io.Reader;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mybatis.example.mapper.RoleMapper;
import org.mybatis.example.mapper.UserMapper;
import org.mybatis.example.model.SysRole;
import org.mybatis.example.model.SysUser; import junit.framework.Assert; public class TestSelectMapper { private static SqlSessionFactory sqlSessionFactory; @BeforeClass
public static void init() {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
} @Test
public void testSelectUserById() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
SysUser sysUser = userMapper.selectUserById(1L);
Assert.assertNotNull(sysUser);
Assert.assertEquals("admin", sysUser.getUserName());
System.out.println(sysUser.toString());
} finally {
sqlSession.close();
}
} @Test
public void testSelectAllUsers() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<SysUser> sysUserList = userMapper.selectAllUsers();
Assert.assertNotNull(sysUserList);
Assert.assertTrue(sysUserList.size() > 0);
System.out.println(sysUserList.size());
} finally {
sqlSession.close();
}
} @Test
public void testSelectRolesByUserId() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
RoleMapper rolerMapper = sqlSession.getMapper(RoleMapper.class);
List<SysRole> sysRoleList = rolerMapper.selectRolesByUserId(1L);
Assert.assertNotNull(sysRoleList);
Assert.assertTrue(sysRoleList.size() > 0);
System.out.println(sysRoleList.size());
} finally {
sqlSession.close();
}
} }
TestSelectMapper.java
package org.mybatis.example.app; import java.io.IOException;
import java.io.Reader;
import java.util.Date; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mybatis.example.mapper.UserMapper;
import org.mybatis.example.model.SysUser; public class TestInsertMapper { private static SqlSessionFactory sqlSessionFactory; @BeforeClass
public static void init() {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
} @Test
public void testInsertAUser() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
SysUser sysUser = new SysUser();
sysUser.setId(2L);
sysUser.setUserName("test");
sysUser.setUserPassword("123456");
sysUser.setUserEmail("test@mybatis.org");
sysUser.setUserInfo("test info");
sysUser.setHeadImg(new byte[] {123});
sysUser.setCreateTime(new Date());
int insertResult = userMapper.insertAUser(sysUser);
System.out.println(insertResult);
} finally {
//sqlSession.rollback();
sqlSession.commit();
sqlSession.close();
}
} @Test
public void testInsertAUserWithoutId() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
SysUser sysUser = new SysUser();
sysUser.setUserName("test3");
sysUser.setUserPassword("123456");
sysUser.setUserEmail("test3@mybatis.org");
sysUser.setUserInfo("test3 info");
sysUser.setCreateTime(new Date());
int insertResult = userMapper.insertAUser(sysUser);
System.out.println(insertResult);
} finally {
//sqlSession.rollback();
sqlSession.commit();
sqlSession.close();
}
} @Test
public void testUpdateAUser() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
SysUser selectUser = userMapper.selectUserById(1003L);
selectUser.setUserName("test1003");
selectUser.setUserEmail("test1003@mybatis.org");
selectUser.setUserInfo("test1003 info");
selectUser.setCreateTime(new Date());
int updateResult = userMapper.updateAUser(selectUser);
System.out.println(updateResult);
} finally {
sqlSession.commit();
sqlSession.close();
}
} @Test
public void testDeleteAUser() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int deleteResult = userMapper.deleteAUser(1003L);
System.out.println(deleteResult);
} finally {
sqlSession.commit();
sqlSession.close();
}
}
}
TestInsertMapper.java
package org.mybatis.example.app; import java.io.IOException;
import java.io.Reader;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mybatis.example.mapper.RoleMapper;
import org.mybatis.example.model.SysRole; public class TestParamMapper { private static SqlSessionFactory sqlSessionFactory; @BeforeClass
public static void init() {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
} @Test
public void testComplicatedSelect() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class);
List<SysRole> sysRoleList = roleMapper.selectRolesByUserIdAndRoleEnabled(1L, 1);
System.out.println(sysRoleList.size());
} finally {
sqlSession.close();
}
}
}
TestParamMapper.java
当需要传递多个参数的时候,需要用到@Param注解,并且上面的代码中给出了例子:RoleMapper.xml中的SelectRolesByUserIdAndRoleEnabled
需要注意的是,在Mapper.xml中,<mapper>中的属性namespace不能少,之前在学习的过程由于缺少了namespace,导致没有得到正确的结果,排查了半天,才找到原因
四、架构图
Maven+Mybatis一些简单例子的更多相关文章
- Java连接数据库 #07# MyBatis Generator简单例子
MyBatis Generator是一个可以帮助我们免去手写实体类&接口类以及XML的代码自动生成工具. 下面,通过一个简单的例子介绍MyBatis Generator如何使用. 大体流程如下 ...
- mybatis的简单使用
使用mybatis数据库时,需要添加一下jar包: asm-3.3.1.jarcglib-2.2.2.jarjavassist-3.17.1-GA.jarlog4j-1.2.17.jarmybatis ...
- 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(下)
在上一篇(详解intellij idea 搭建SSM框架(spring+maven+mybatis+mysql+junit)(上))博文中已经介绍了关于SSM框架的各种基础配置,(对于SSM配置不熟悉 ...
- 使用 CXF 做 webservice 简单例子(转载)
使用 CXF 做 webservice 简单例子 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这 ...
- quartz---的一个简单例子
quartz---的一个简单例子 首先建立一个maven项目.jar工程即可.(提示:我前面有如何建立一个maven工程的总结以及maven环境的配置.) 1.建立好后点击到app中运行,--> ...
- IDEA Maven Mybatis generator 自动生成代码
IDEA Maven Mybatis generator 自动生成代码 一.安装配置maven以及在Idea中配置maven 安装过程步骤可以看上面的博文,里面介绍得很详细. 二.建数据表 DROP ...
- Drools简单例子
转自:http://www.blogjava.net/diggbag/articles/359347.html 1.Drools简单例子 首先是搭建一个可供进行Drools开发的框架.Jboss官方推 ...
- SparkStreaming简单例子(oldAPI)
SparkStreaming简单例子 ◆ 构建第一个Streaming程序: (wordCount) ◆ Spark Streaming 程序最好以使用Maven或者sbt编译出来的独立应用的形式运行 ...
- Mybatis的简单增删改查
刚开始学习Mybatis可以先看下官方文档,MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集.MyBat ...
随机推荐
- Eclipse中一些真正常用的快捷键
F2 文件重命名(要使用某个过长的文件名或者不好打的文件名时,直接F2再Ctrl+C非常好用,比如:Validform_v5.3.2_min.js) Ctrl+S 保存当前文件 Ctrl+Shift+ ...
- ASP.NET MVC下使用AngularJs语言(四):$window.alert
判断文本框是否有填写,没有填写使用angularjs的$window.alert来提示用户. 创建一个ASP.NET MVC控制器: 接下来是准备一个angularjs的控制器: pilotApp.c ...
- JavaScript 函数式编程读书笔记2
概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...
- koa-static与react-create-app搭配的路径
概述 前端路由与后端路由的结合一直是一个难题.koa-static这个中间件能够把静态资源"搬到"后端路由上面去,react-create-app在不解构的情况下只会把资源打包到b ...
- touch-action属性引起的探索
最近在做微信项目的时候遇到一个奇怪的问题: 常购清单的商品多了以后往上滑没有任何反应,不能滑动.但商城首页又可以往上滑.而且ios没有这个问题,安卓才有这个问题. 起初我以为是因为这2个页面调用接口 ...
- 目标检测的图像特征提取之HOG特征
HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度 ...
- python修改文件中字符串并写入
python实际工作中,做一些小工具,很方便.最近在做一个格式转换工具时候,用到了替换文件中特定字符串的 功能.当初没直接想出来,就在网上查了一下,做个记录,方便后续使用. # -*- coding: ...
- 机器学习基石笔记:06 Theory of Generalization
若H的断点为k,即k个数据点不能被H给shatter,那么k+1个数据点也不能被H给shatter,即k+1也是H的断点. 如果给定的样本数N是大于等于k的,易得mH(N)<2N,且随着N的增大 ...
- Windows系统CMD常用命令大全
命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全.稳定,有的用户还在使用,所以一 ...
- Linux Shell常用shell命令
Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...