文章目录

  • 1、使用IDEA创建maven工程
    • 1.1、目录结构
    • 1.2、引入mysql依赖包
  • 2、创建数据库及数据
    • 2.1、执行以下sql
  • 3、JDBC方式连接数据库
    • 3.1 新建JDBCTest.java
    • 3.2、JDBC连接数据库缺点分析
  • 4、搭建Mybatis框架
    • 4.1、引入依赖:
    • 4.2、配置mybatis-config.xml文件
    • 4.3、配置MyMapper.xml文件
    • 4.4、在mybatis-config.xml中配上MyMapper.xml
    • 4.5、创建MybatisTest.java
    • 4.6、User.java文件
    • 4.7、对比JDBC使用的好处:
  • 5、通过UserDao接口实现调用
    • 5.1、创建UserDao.java
    • 5.2、创建UserDaoImpl.java
    • 5.3、创建UserDaoMapper.xml
    • 5.4、在mybatis-config.xml中添加配置:
    • 5.5、添加UserDao的测试用例
    • 5.6、编写UserDaoTest.java
  • 6、通过动态代理实现
    • 6.1、创建UserMapper.java
    • 6.2、创建UserMapper.xml
    • 6.3、创建UserMapperTest.java
  • 7、Spring整合Mybatis
    • 7.1、引入Spring和Mybatis相关依赖
    • 7.2、配置spring配置文件:
    • 7.3、创建UserMapperSpringTest.java
  • 8、SpringBoot整合Mybatis

1、使用IDEA创建maven工程


1.1、目录结构

1.2、引入mysql依赖包

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.12</version>
</dependency>

2、创建数据库及数据

2.1、执行以下sql

创建数据库:

CREATE DATABASE ssmdemo;

创建表:

DROP TABLE IF EXISTS tb_user;
CREATE TABLE tb_user (
id CHAR(32) NOT NULL,
username VARCHAR(32) DEFAULT NULL,
PASSWORD VARCHAR(32) DEFAULT NULL,
NAME VARCHAR(32) DEFAULT NULL,
age INT(10) DEFAULT NULL,
sex INT(2) DEFAULT NULL,
birthday DATE DEFAULT NULL,
created DATETIME DEFAULT NULL,
updated DATETIME DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

插入数据:

INSERT INTO ssmdemo.tb_user ( id,username, PASSWORD, NAME, age, sex, birthday, created, updated) VALUES (3,'yf', '123456', '叶凡', '22', '1','1990-09-02', SYSDATE(), SYSDATE());
INSERT INTO ssmdemo.tb_user ( id,username, PASSWORD, NAME, age, sex, birthday, created, updated) VALUES ( 2,'xnn', '123456', '小囡囡', '5', '1', '1993-09-05', SYSDATE(), SYSDATE());

3、JDBC方式连接数据库

3.1 新建JDBCTest.java

package com.mybatis.jdbc;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/17*/
public class JDBCTest {public static void main(String[] args) throws Exception {Connection connection = null;PreparedStatement prepareStatement = null;ResultSet rs = null;try {// 加载驱动Class.forName("com.mysql.jdbc.Driver");// 获取连接String url = "jdbc:mysql://127.0.0.1:3306/ssmdemo";String user = "root";String password = "123456";connection = DriverManager.getConnection(url, user, password);// 获取statement,preparedStatementString sql = "select * from tb_user where id=?";prepareStatement = connection.prepareStatement(sql);// 设置参数prepareStatement.setString(1, "2");// 执行查询rs = prepareStatement.executeQuery();// 处理结果集while (rs.next()) {System.out.println(rs.getString("username"));System.out.println(rs.getString("name"));System.out.println(rs.getInt("age"));System.out.println(rs.getDate("birthday"));}} finally {// 关闭连接,释放资源if (rs != null) {rs.close();}if (prepareStatement != null) {prepareStatement.close();}if (connection != null) {connection.close();}}}}

执行一下,发现会报错:

Exception in thread "main" java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone...

因为引入的MySQL服务是8.0.12及以上的版本,在新版的数据库使用的时区与本地时区有区别,标准时区使用的是Unix元年的时间为起始点到当前时间中间所做的动作。国际标准失去与本地相差 8 个小时,所以才会出现这种错误。

解决方法1(解决方法2在接下来spring整合mybatis时候讲):
在连接数据之后,执行以下sql语句:

 set global time_zone='+8:00';


然后再运行JDBCTest.java中的main()方法,返回结果:

3.2、JDBC连接数据库缺点分析

4、搭建Mybatis框架

4.1、引入依赖:

<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version>
</dependency>

4.2、配置mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 根标签 -->
<configuration><!-- 环境,可以配置多个,default:指定采用哪个环境 --><typeAliases><package name="com.mybatis.pojo"/></typeAliases><environments default="development"><!-- id:唯一标识 --><environment id="development"><!-- 事务管理器,JDBC类型的事务管理器 --><transactionManager type="JDBC"/><!-- 数据源,池类型的数据源 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/ssmdemo"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments></configuration>

4.3、配置MyMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- mapper:根标签,namespace:命名空间,随便写,一般保证命名空间唯一 -->
<mapper namespace="MyMapper"><!-- statement,内容:sql语句。id:唯一标识,随便写,在同一个命名空间下保持唯一resultType:sql语句查询结果集的封装类型,tb_user即为数据库中的表--><select id="selectAll" resultType="user" parameterType="java.lang.String">select * from tb_user where id=#{id};</select>
</mapper>

4.4、在mybatis-config.xml中配上MyMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 根标签 -->
<configuration><!-- 环境,可以配置多个,default:指定采用哪个环境 --><typeAliases><package name="com.mybatis.pojo"/></typeAliases><environments default="development"><!-- id:唯一标识 --><environment id="development"><!-- 事务管理器,JDBC类型的事务管理器 --><transactionManager type="JDBC"/><!-- 数据源,池类型的数据源 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/ssmdemo"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><mapper resource="mappers/MyMapper.xml"/></mappers>
</configuration>

4.5、创建MybatisTest.java

package com.mybatis.mybatis;import com.mybatis.pojo.User;
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 java.io.InputStream;
import java.util.List;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/18*/
public class MybatisTest {public static void main(String[] args) throws Exception {// 指定全局配置文件String resource = "mybatis-config.xml";// 读取配置文件InputStream inputStream = Resources.getResourceAsStream(resource);// 构建sqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 获取sqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();try {// 操作CRUD,第一个参数:指定statement,规则:命名空间+“.”+statementId// 第二个参数:指定传入sql的参数:这里是用户idList<User> userList = sqlSession.selectList("MyMapper.selectAll","3");System.out.println(userList);} finally {sqlSession.close();}}
}

4.6、User.java文件

package com.mybatis.pojo;import java.util.Date;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/18*/
public class User {private String id;private String userName;private String password;private String name;private Integer age;private Integer sex;private Date birthday;private String created;private String updated;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Integer getSex() {return sex;}public void setSex(Integer sex) {this.sex = sex;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getCreated() {return created;}public void setCreated(String created) {this.created = created;}public String getUpdated() {return updated;}public void setUpdated(String updated) {this.updated = updated;}@Overridepublic String toString() {return "User{" +"id='" + id + '\'' +", userName='" + userName + '\'' +", password='" + password + '\'' +", name='" + name + '\'' +", age=" + age +", sex=" + sex +", birthday=" + birthday +", created='" + created + '\'' +", updated='" + updated + '\'' +'}';}
}

4.7、对比JDBC使用的好处:

1)配置了mybatis-config.xml 全局的配置文件 (配置数据源,连接数据库)
2)通过创建SqlSessionFactory中SqlSession对象操作数据库 CRUD
3)调用session.commit(),session.close()提交事务,关闭会话。不用每次都要在java代码中释放资源

5、通过UserDao接口实现调用

5.1、创建UserDao.java

package com.mybatis.dao;import com.mybatis.pojo.User;import java.util.List;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/18*/
public interface UserDao {public List<User> selectAll();
}

5.2、创建UserDaoImpl.java

package com.mybatis.dao.impl;import com.mybatis.dao.UserDao;
import com.mybatis.pojo.User;
import org.apache.ibatis.session.SqlSession;import java.util.List;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/18*/
public class UserDaoImpl implements UserDao {public SqlSession sqlSession;public UserDaoImpl(SqlSession sqlSession) {this.sqlSession = sqlSession;}@Overridepublic List<User> selectAll() {return this.sqlSession.selectList("UserDao.selectAll");}
}

其中this.sqlSession.selectList("UserDao.selectAll");的UserDao是指xml文件中namespace = ‘UserDao’的文件,然后找其对应id = ‘selectAll’的sql语句

5.3、创建UserDaoMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- mapper:根标签,namespace:命名空间,随便写,一般保证命名空间唯一 -->
<mapper namespace="UserDao"><select id="selectAll" resultType="user">select * from tb_user;</select>
</mapper>

5.4、在mybatis-config.xml中添加配置:

<mappers><mapper resource="mappers/MyMapper.xml"/><mapper resource="mappers/UserDaoMapper.xml"/>
</mappers>

5.5、添加UserDao的测试用例

pom.xml文件中添加依赖:

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version>
</dependency>

按住Alt+Enter,选择create test

5.6、编写UserDaoTest.java


package com.mybatis.test;import com.mybatis.dao.UserDao;
import com.mybatis.dao.impl.UserDaoImpl;
import com.mybatis.pojo.User;
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.Before;
import org.junit.Test;
import java.io.InputStream;
import java.util.List;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/18*/public class UserDaoTest {public UserDao userDao;public SqlSession sqlSession;@Beforepublic void setUp() throws Exception {// mybatis-config.xmlString resource = "mybatis-config.xml";// 读取配置文件InputStream is = Resources.getResourceAsStream(resource);// 构建SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);// 获取sqlSessionsqlSession = sqlSessionFactory.openSession();this.userDao = new UserDaoImpl(sqlSession);}@Testpublic void queryUserAll() throws Exception {List<User> userList = this.userDao.selectAll();for (User user : userList) {System.out.println(user);}}}

6、通过动态代理实现

优点:通过编写接口和mapper.xml即可,不用写实现类

6.1、创建UserMapper.java

package com.mybatis.dao;import com.mybatis.pojo.User;import java.util.List;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/20*/
public interface UserMapper {public List<User> selectAll();
}

6.2、创建UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- mapper:根标签,namespace:命名空间 -->
<mapper namespace="com.mybatis.dao.UserMapper"><select id="selectAll" resultType="user">select * from tb_user;</select>
</mapper>

在UserMapper.xml中配置接口的全路径。
如果希望使用mybatis通过的动态代理的接口,就需要namespace中的值,和需要对应的Mapper(dao)接口的全路径一致
全局配置文件mybatis-config.xml引入UserMapper.xml

<mappers><mapper resource="mappers/MyMapper.xml"/><mapper resource="mappers/UserDaoMapper.xml"/><mapper resource="mappers/UserMapper.xml"/>
</mappers>

6.3、创建UserMapperTest.java

package com.mybatis.test;import com.mybatis.dao.UserDao;
import com.mybatis.dao.UserMapper;
import com.mybatis.dao.impl.UserDaoImpl;
import com.mybatis.pojo.User;
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.Before;
import org.junit.Test;import java.io.InputStream;
import java.util.List;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/20*/
public class UserMapperTest {public UserMapper userMapper;public SqlSession sqlSession;@Beforepublic void setUp() throws Exception {// mybatis-config.xmlString resource = "mybatis-config.xml";// 读取配置文件InputStream is = Resources.getResourceAsStream(resource);// 构建SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);// 获取sqlSessionsqlSession = sqlSessionFactory.openSession();
//        this.userDao = new UserDaoImpl(sqlSession);this.userMapper = sqlSession.getMapper(UserMapper.class);}@Testpublic void queryUserAll() throws Exception {List<User> userList = this.userMapper.selectAll();for (User user : userList) {System.out.println(user);}}
}

7、Spring整合Mybatis

7.1、引入Spring和Mybatis相关依赖

pom.xml文件添加:

 <!--数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.8</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.1.3.RELEASE</version></dependency><!--spring集成Junit测试--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.1.3.RELEASE</version><scope>test</scope></dependency><!--spring容器--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.3.RELEASE</version></dependency>

7.2、配置spring配置文件:

applicationContext-dao.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 加载配置文件 --><context:property-placeholder location="classpath:properties/*.properties"/><!-- 数据库连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.database}"/><property name="username" value="${jdbc.userName}"/><property name="password" value="${jdbc.passWord}"/><!-- 初始化连接大小 --><property name="initialSize" value="${jdbc.initialSize}"></property><!-- 连接池最大数据库连接数  0 为没有限制 --><property name="maxActive" value="${jdbc.maxActive}"></property><!-- 连接池最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态 0 为没有限制 --><property name="maxIdle" value="${jdbc.maxIdle}"></property><!-- 连接池最小空闲 --><property name="minIdle" value="${jdbc.minIdle}"></property><!--最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制--><property name="maxWait" value="${jdbc.maxWait}"></property></bean><!-- spring和MyBatis完美整合 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!-- 自动扫描mapping.xml文件 --><property name="mapperLocations" value="classpath:mappers/*.xml"></property><!--如果mybatis-config.xml没有特殊配置也可以不需要下面的配置--><property name="configLocation" value="classpath:mybatis-config.xml" /></bean><!-- DAO接口所在包名,Spring会自动查找其下的类 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.mybatis.dao"/><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property></bean><!-- (事务管理)transaction manager --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean></beans>

db.properties:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.database=jdbc:mysql://127.0.0.1:3306/ssmdemo?serverTimezone=UTC
jdbc.userName=root
jdbc.passWord=123456
jdbc.initialSize=0
jdbc.maxActive=20
jdbc.maxIdle=20
jdbc.minIdle=1
jdbc.maxWait=1000

其中在jdbc.database后面加了一串:?serverTimezone=UTC
为之前说的解决方法2,指定时区为UTC,否则启动报sqlException.
由于applicationContext-dao.xml中配置了Mapper接口扫描,所以删除mybatis-config.xml中的配置,否则报已映射错误:
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for MyMapper.selectUser
删除mybatis-config.xml中的映射配置:

<!--<mappers><mapper resource="mappers/MyMapper.xml"/><mapper resource="mappers/UserDaoMapper.xml"/><mapper resource="mappers/UserMapper.xml"/>
</mappers>-->

7.3、创建UserMapperSpringTest.java

package com.mybatis.test;import com.mybatis.dao.UserMapper;
import com.mybatis.pojo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;/*** Author:LIUZHENSHENG247* Description:* CreateDate:2020/5/20*/
@RunWith(SpringJUnit4ClassRunner.class)//junit整合spring的测试//立马开启了spring的注解
@ContextConfiguration(locations="classpath:spring/applicationContext-*.xml")//加载核心配置文件,自动构建spring容器
public class UserMapperSpringTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testQueryUserAll() {List<User> userList = this.userMapper.selectAll();for (User user : userList) {System.out.println(user);}}}

8、SpringBoot整合Mybatis

可以参考这一篇
SpringBoot整合Mybatis框架过程

数据库连接_由浅入深搭建Mybatis框架相关推荐

  1. Mybatis执行流程分析_自定义简易Mybatis框架

    自定义简易Mybatis框架 Mybatis执行流程分析 Mybatis代码编写流程: Mybatis配置文件加载过程: 需求分析及技术概述 根据上述的功能结构图, 得出如下需求: 1. 需要具有配置 ...

  2. mybatis注解开发_快速搭建MyBatis开发环境(配置版+注解版)

    下面我们搭建一下MyBaits的开发环境,也就是一个用MyBaits框架访问数据库的例子. 1.项目结构如下 这里搭建的是一个maven项目. 2.引入依赖pom.xml 4.0.0com.suibi ...

  3. 搭建MyBatis框架

    一.开发环境 1.JDK 1.6.0_22 2.MyEclipse 10.7.1 3.Oracle_10g_10.2.0.4 注:各软件版本不是必须的,正常任意版本都行,文件较大就不附上下载地址了,推 ...

  4. Eclipse搭建Mybatis框架

    一.搭建环境及工具准备 1.java 开发环境:JDK1.8 及以上 2.java 开发工具:eclipse 3.数据库服务器:MySQL 4数据库管理工具:navcat 二.搭建详细步骤 1.创建工 ...

  5. vant 项目_如何搭建mpvue框架搭配vant组件库的小程序项目

    1. vant 介绍 ### 扫码体验 Vant - 轻量.可靠的移动端 Vue 小程序 组件库.由有赞公司开发与维护.提供了一系列美观.优质的移动端组件. vant 官网 2. 在普通小程序怎么使用 ...

  6. aspx跳转页面的符号_解决SpringBoot+MyBatis框架下页面跳转问题与代码优化处理。...

    一.关于页面跳转的疑问 后台「return "/pool/index"」返回的是字符串,会自动寻找名为"index"的页面模板文件是怎样实现的? 答:这是Spr ...

  7. Mybatis框架入门教程

    文章目录 MyBatis是什么?它和hibernate的区别有哪些? MyBatis的工作原理 *MyBatis的核心组件 1.SqlSessionFactory及其常见创建方式 2.SqlSessi ...

  8. MyBatis框架(学习总结)

    1.什么是MyBatis? 它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射,动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低. ORM:是对象关系映射的意思,是实现域模 ...

  9. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

最新文章

  1. 未明确定义列存储过程没问题_使用Apache Kudu和Impala实现存储分层
  2. python linux解密zip_Python Linux系统管理之使用Python管理压缩包
  3. gatsby_我如何使用Gatsby和Netlify建立博客
  4. 异步任务,邮箱任务,定时任务
  5. Java案例:Swing常用组件演示
  6. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句
  7. SSH框架下载地址及说明介绍地址
  8. Cow Roller Coaster
  9. 数字电路基础(四) 数据分配器、数据选择器和数值比较器
  10. ycharm无法识别导入本地py文件
  11. 只是想要自己喜欢的生活,可是你有资格么?
  12. 树莓派系统最新系统镜像Bullseye更换镜像源
  13. Vue 链接生成二维码
  14. 什么是802.11ax(Wi-Fi 6)
  15. JavaScript 基础知识
  16. 单选/复选框中点击文字能选择该选项
  17. 假如你想成为一名测试工程师(程序员找茬师)
  18. 管理经济分析05:并购、价格歧视、四个市场、招标与拍卖
  19. 设计模式总结-结构型模式
  20. android读取U引导扇区,回收站清空了怎么恢复,删除的文件如何恢复,u盘格式化后数据恢复 - 久久量产网...

热门文章

  1. 信息学奥赛一本通——2062:【例1.3】电影票
  2. 服务器 z盘 映射,小脚本:在终端上映射网络驱动器Z盘
  3. 考试系统主服务器进入 分机进不去,为什么驾校考试系统网址进不去
  4. mac pdf分割方法,及其方便!!
  5. 【web】百度地图中心点始终出现在左上角,或者灰蒙蒙的
  6. Android 利用摄像头指尖测试心率
  7. 在tensorflow下进行pip操作时需要注意的地方
  8. 谷歌Android笔记本,运行安卓+Chrome OS合体新系统:谷歌Pixel 3笔记本被曝光
  9. 值得一看的纪录片——《河西走廊》墙裂推荐
  10. Pytorch实现Deep Mutual Learning网络