1.pom.xml配置问题
2.StudentDao.xml配置问题
3.mybatis.xml配置问题
前言
mybatis基础配置详解
提示:以下是本篇文章正文内容,下面案例可供参考
mybatis
1.pom.xml配置问题
代码如下(示例):
<?xml version="1.0" encoding="UTF-8"?>
<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.example</groupId>
<artifactId>ch_01heloo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<!--依赖列表-->
<dependencies>
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
<type>maven-plugin</type>
</dependency>
</dependencies>
<build>
<!--资源插件:处理src/main/java目录下的XML文件-->
<resources>
<resource>
<directory>src/main/java</directory><!--所在的目录-->
<includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
2.StudentDao.xml配置问题
代码如下(示例):
<?xml version="1.0" encoding="UTF-8" ?>
<!--
声明用的xml版本是1.0
声明用xml传输数据的时候的字符编码,假如文档里面有中文,编码方式不是UTF-8,传输过去再解码的话中文就会是乱码
-->
<!--
sql映射文件:写SQL语句的。mybatis会执行这些SQL
1.指定约束文件
mybatis-3-mapper.dtd是约束文件的名称,扩展名是dtd
2.约束文件作用:限制,检查在当前文件中出现的标签,属性必须符合mybatis的要求
这块代码是固定的
-->
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
3.mapper 是当前文件的跟标签,必须的。
namespace:叫做命名空间,唯一值的。可以说自定义的字符串。要求你使用dao接口的全限定名称
4.在当前文件中,可以使用特定的标签,表示数据库的特定操作
<select>:表示执行查询
<update>:表示更新数据库的操作,就是在<update>标签中写的是update sql语句
<insert>:表示插入,放的是insert语句
<delete>:表示删除,执行的delete语句
namespace:必须有值,自定义的唯一字符串
推荐使用:dao 接口的全限定名称
-->
<mapper namespace="org.example.dao.StudentDao">
<!--
<select>: 查询数据, 标签中必须是 select 语句
id: sql 语句的自定义名称,使用 dao 接口中方法名称,
使用名称表示要执行的 sql 语句
resultType: 查询语句的返回结果数据类型,使用全限定类名
是SQL语句执行后得到的ResulSet,遍历这个ResultSet得到Java对象的类型
告诉mybatis,执行sql语句。把数据赋值给那个类型的Java对象
-->
<select id="selectStudent" resultType="org.example.damain.Student">
<!--要执行的 sql 语句-->
select * from student
</select>
</mapper>
2.mybatis.xml配置问题
代码如下(示例):
<?xml version="1.0" encoding="UTF-8" ?>
<!--支持中文的 url(jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8)-->
<!--mybatis的主配置文件:主要定义了数据库的配置信息,SQL映射文件的位置-->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--配置 mybatis 环境:数据库的连接信息 -->
<configuration>
<!--带s,说明是有多个的
default:必须和某个environment的id值一样
告诉mybatis使用哪个数据库的连接信息,也就是访问那个数据库-->
<environments default="mysql">
<!--environment:一个数据库信息的配置,环境
id:数据源的名称,一个唯一值,自定义,表示环境名称-->
<environment id="mysql">
<!--配置事务类型:使用 JDBC 事务(使用 Connection 的提交和回滚)
transactionManager:mybatis的事务类型
type:JDBC(表示使用jdbc中的Connection对象的commit,rollback做事务处理)-->
<transactionManager type="JDBC"/>
<!--dataSource:数据源 连接数据库的 //创建数据库 Connection 对象
type: 表示数据源的类型, POOLED 使用数据库的连接池-->
<dataSource type="POOLED">
<!--连接数据库的四个要素是固定的,不能随意改动-->
<!--数据库的驱动类名-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--数据库的URL字符串-->
<property name="url" value="jdbc:mysql://localhost:3306/ssm?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false"/>
<!--访问数据库的用户名称-->
<property name="username" value="root"/>
<!--访问数据库的密码-->
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--sql mapper(sql映射文件)的位置
指定其他mapper文件的位置:目的是找到其他文件的sql语句
-->
<mappers>
<!--告诉 mybatis 要执行的 sql 语句的位置
一个mapper标签指定一个文件的位置
从类路径开始的路径信息。类路径:代码经过编译之后,有一个target/clasess后面的路径。target/clasess(类路径)
使用注意:
resource="mapper文件的路径,使用/分割路径“
一个mapper resource指定一个mapper文件
-->
<mapper resource="org/example/dao/StudentDao.xml"/>
</mappers>
</configuration>