赞
踩
MyBatis:解决数据的持久问题的框架
Spring MVC:解决web层问题的MVC框架
Sping框架:解决技术整合问题的框架
Spring Boot:简化Spring的配置(快速搭建脚手架)
Spring Cloud:利用Spring Boot简化了分布式系统的开发(对Spring Boot进行再封装)
Sping:为pojo(bean)对象提供企业级服务
Spring MVC:web开发框架,Spring MVC作为控制器实现模型与视图的数据交互
MyBatis:在实体类和sql语句间建立映射关系
步骤:
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
MyBatis官方网站:https://mybatis.net.cn/getting-started.html
打开pom.xml
- <dependencies>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>3.5.11</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.10</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.6</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
。。。
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
建立db.properties文件
- driver=com.mysql.cj.jdbc.Driver
- url=jdbc:mysql://localhost:3306/mybatis?
- serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
- username=root
- password=123
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
建立mybatis-config.xml
- <?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>
- <!-- 引入外部db.properties -->
- <properties resource="db.properties"/>
- <environments default="development">
- <environment id="development">
- <transactionManager type="JDBC"/>
- <dataSource type="POOLED">
- <property name="driver" value="${driver}"/>
- <property name="url" value="${url}"/>
- <property name="username" value="${username}"/>
- <property name="password" value="${password}"/>
- </dataSource>
- </environment>
- </environments>
- <mappers>
- <mapper resource="org/mybatis/example/BlogMapper.xml"/>
- </mappers>
- </configuration>
- create database mybatis charset=utf8;
- use mybatis;
- create table users(
- uid int primary key auto_increment,
- uname varchar(20) not null,
- uage int not null
- );
- insertinto users(uid,uname,uage)values(null,'张三',20),(null,'李四',18);
在项目src/main/java目录下创建com.XXX.pojo包在该包下创建User类,此类用于封装User对象的属性
将创建好的pojo放到
在项目src/mian/resources目录下创建一个文件,在mapper文件夹下创建映射文件UserMapper.xml,该文件主要用于实现sql语句和Java对象之间的映射,使sql语句查询出来的关系型数据库能被封装成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="com.lhy.Users">
- <select id="findById" parameterType="int"
- resultType="com.lhy.Users">
- select * from users where uid = #{id}
- </select>
- </mapper>
在该文件中添加UserMapper.xml映射文件路径的配置,用与将UserMapper.xml映射文件加载到程序中。
注意:一个项目有多个映射文件,则mybatis-config.xml核心配置文件需要在<mappers>元素下配置多个<mapper>元素指定文件的路径。
- package com.lhy.test;
- import com.lhy.Users;
- 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.Test;
-
- import java.io.IOException;
- import java.io.Reader;
-
- public class UserTest {
- @Test
- public void userFindByIdTest() {
- // 配置文件
- String resources= "mybatis-config.xml";
- Reader reader = null;
- try {
- // 读取mybatis-config.xml文件内容到reader对象中
- reader=Resources.getResourceAsReader(resources);
- } catch (IOException e) {
- e.printStackTrace();
- }
- // 创建sqlSessionFactory工厂对象
- SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
- // 创建sqlSession对象
- SqlSession session=sqlMapper.openSession();
- // 执行sql语句,sql语句唯一标识:namespace.statemtId
- Users user=session.selectOne("findById", 2);
- System.out.println(user.getUname());
- System.out.println(user);
- session.close();
-
- }
- }
Cannot find class: com.mysql.cj.jdbc.Driver
1.xml映射
2.driver写错
3.测试代码下错误。
4.依赖(检查自己的MySQL驱动是版本多少,pom.xml中配置的版本应该和自己的MySQL一致
我是实用主义者,能用就行,技术更新那么快,会用就好
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。