https://mvnrepository.com/
在pom.xml中添加依赖
把别人的包导入进来,就可以使用别人包里面的类了
<dependencies> <!-- Mybatis核心 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!-- MySQL驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.3</version> </dependency> </dependencies>
刷新一下,第一个
习惯上命名为mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求。将来整合Spring
之后,这个配置文件可以省略,所以大家操作时可以直接复制、粘贴。
核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息
制作模板,这样以后就可以直接激活模板
<?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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value=""/> <property name="url" value=""/> <property name="username" value=""/> <property name="password" value=""/> </dataSource> </environment> </environments> <mappers> <mapper resource="org/mybatis/example/BlogMapper.xml"/> </mappers> </configuration>
记得在你对应的数据库(不要弄错了名字)创建表
create table tb_students( sid int primary key auto_increment, stu_num char(5) not null unique, stu_name varchar(20) not null, stu_gender char(2) not null, stu_age int not null );
创建必备的两个文件。在pojo文件下,建造student类,信息与数据库表中信息一致
导入lombok依赖,简化我们操作(记得把插件也装了)
@Getter / @Setter
这个不用多说了吧
@ToString
帮助生成toString,还有一些细节参数可供设置
@EqualsAndHashCode
帮助重写equals和hashCode
@NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor
帮助生成构造函数
@Data
生成@ToString @EqualsAndHashCode @Getter @RequiredArgsConstructor以及非final字段的@Setter
不用的话就要自己一个个生成实现方法
第一次可以点这个,然后复制粘贴
也可以直接new 模板
<?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=""> </mapper>
mapper文件相当于DAO接口的实现类,namespace属性指定实现DAO接口的全限定名(报名+类名)
使用mybatisX插件即可直接alt+enter接口中的方法,xml就会出现对应的映射
然后在里面填入sql语句
映射文件写完后,是需要添加到主配置文件的都在同一个包下,复制到mappers的source里面
<!-- junit测试 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
测试类
package com.can.dao; import com.can.pojo.Student; 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.InputStream; /** * @author: 14995 * @date: 2022/2/27 22:24 * @description: */ public class studentDAOTest { @Test public void insertStudent() { try { //加载mybatis配置文件 InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); //创建builder SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //会话工厂,连接工厂 SqlSessionFactory factory = builder.build(is); //sqlsession 代表数据库的连接,也代表数据库的连接对象 //会话(连接) SqlSession sqlSession = factory.openSession(); StudentDAO studentDAO = sqlSession.getMapper(StudentDAO.class); // System.out.println(studentDAO); int i = studentDAO.insertStudent(new Student(0,"10002","java少年","男",24)); //需要手动提交 sqlSession.commit(); System.out.println(i); } catch (IOException e) { e.printStackTrace(); } } @Test public void deleteStudent() { } }
Unknown initial character set index ‘255’ received from server. Initial client character
解决方法
参考:https://www.bilibili.com/video/BV15Q4y1m78a?p=6