旅游预定型网站建设,怎么在app中嵌入h5页面,信息系统开发流程,网站设计服务有哪些该视频为狂神说java视频配套笔记#xff08;博主自己手打223#xff0c;日后做个参考223#xff09;#xff0c;b站连接#xff1a;Mybatis最新完整教程IDEA版【通俗易懂】-02-第一个mybatis程序) 文章目录2.第一个mybatis程序2.1搭建环境2.2 创建一个模块2.3编写代码2.4测…该视频为狂神说java视频配套笔记博主自己手打223日后做个参考223b站连接Mybatis最新完整教程IDEA版【通俗易懂】-02-第一个mybatis程序) 文章目录2.第一个mybatis程序2.1搭建环境2.2 创建一个模块2.3编写代码2.4测试个人小总结:helloworld ,Mybatis2.第一个mybatis程序
思路搭建环境–》导入mybatis–》编写代码–》测试
2.1搭建环境
搭建数据库
CREATE DATABASE mybatis;
USE mybatis;CREATE TABLE user(id int(20) not null,name varchar(30) default null,pwd varchar(30) default null,primary key (id)
)engineinnodb default charset utf8;
# 存储引擎是innodb。INSERT INEO user(id,name,pwd) VALUES
(1,admin,123456),
(1,admin2,123456),
(1,admin3,123456)关于engineinnobd是什么意思
新建一个目录
新建一个普通的maven项目删除src目录将其当作一个父工程导入相关的依赖
!-- 导入依赖--dependencies!-- mysql驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependency!-- mybatis--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.2/version/dependency!-- junit--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency/dependencies2.2 创建一个模块
编写mybatis的核心配置文件
?xml version1.0 encodingUTF-8 ?
!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd!--configuration核心配置文件--
configurationenvironments defaultdevelopmentenvironment iddevelopment!--事务管理--transactionManager typeJDBC/dataSource typePOOLEDproperty namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/mybatis?useSSLtrueamp;useUnicodetrueamp;characterEncodingUTF-8/property nameusername valueroot/property namepassword value123456//dataSource/environment/environmentsmappersmapper resourceorg/mybatis/example/BlogMapper.xml//mappers
/configuration
useUnicodetruecharacterEncodingUTF-8 的作用
编写mybatis工具类
//sqlSessionFactory sqlSession
public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;static{try {// 使用Mybatis第一步 获取sqlsessionFactory对象String resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}//既然有了 SqlSessionFactory顾名思义我们就可以从中获得 SqlSession 的实例了。public static SqlSession getSqlSession(){// SqlSession 完全包含了面向数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。return sqlSessionFactory.openSession();}}2.3编写代码
实体类Dao接口
package com.yangtao.dao;import com.yangtao.pojo.User;import java.util.List;public interface UserMapper {//查询全部用户ListUser getUserList();
}
接口实现类由原来的UserDaoImpl转化为一个Mapper配置文件
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd!--namespace绑定一个对应的mapper接口--
mapper namespacecom.yangtao.dao.UserMapper!--select查询语句--select idgetUserList resultTypecom.yangtao.pojo.User/*定义sql*/select * from mybatis.user/select
/mapper
2.4测试
注意
关于 Type interface com.yangtao.dao.UserDao is not known to the MapperRegistry.
报错的解决方法
!-- 每一个Mapper.xml 都需要在Mybatis核心配置文件中注册--Type interface com.yangtao.dao.UserDao is not known to the MapperRegistry.
MapperRegistry.是什么
核心配置文件中注册mappers
junit测试 Testpublic void test(){// 第一步获取SqlSession对象SqlSession sqlSession MybatisUtils.getSqlSession();// 执行sqlUserDao mapper sqlSession.getMapper(UserDao.class);ListUser userList mapper.getUserList();for (User user : userList){System.out.println(user);}//关闭SqlsessionsqlSession.close();}你可能遇到的问题
配置文件没有注册绑定接口错误方法名不对返回类型不对maven导出资源问题idea的默认不导出src目录下的xml文件可能会造成找不到配置文件的问题 个人小总结:helloworld ,Mybatis 编写mybatis-config.xml配置文件配置一些数据库连接的设置之后还需要用这个文件注册每一个Mapper.xml 编写MybatisUtils.java代码封装一些操作比如读取上一步操作中的配置文件创建SqlSessionFactory对象接着创建一个可以获取SqlSession对象的方法 //sqlSessionFactory sqlSession
public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;static{try {// 使用Mybatis第一步 获取sqlsessionFactory对象String resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}//既然有了 SqlSessionFactory顾名思义我们就可以从中获得 SqlSession 的实例了。public static SqlSession getSqlSession(){// SqlSession 完全包含了面向数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。return sqlSessionFactory.openSession();}
}写单独的mapper.xml文件写查询语句设置好每一条查询语句的id和resultType !--select查询语句--select idgetUserList resultTypecom.yangtao.pojo.User/*定义sql*/select * from mybatis.user/select实体类要和数据库表中的数据项对的上 编写test类测试代码是否有错单元测试很重要223