这里需要注意:很多小伙伴链接不成功,这个时候要修改一下自己的驱动版本,尽量与数据库版本一致
添加jdbc.properties属性文件(数据库配置)jdbc.driverclassname=com.mysql.cj.jdbc.driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useunicode=true&characterencoding=utf8
jdbc.username=root
jdbc.password=*******
这里有个小细节,新版数据库驱动的类型不要写错 com.mysql.cj.jdbc.driver
设置完这个就可以连接到数据库了。
添加sqlmapcongig.xmlmybatis的核心配置文件
这里直接附上,第一次用来测试成功,先跑通,后面的文章会详细将各个标签的作用和属性学习一遍
<?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><!-- 读取属性文件(jdbc.properties) 属性: resources:从resouces目录下找指定名称的文件加载 url:使用绝对路径加载属性文件--><properties resource="jdbc.properties"></properties><!-- 配置数据库的环境变量(数据库链接配置) default:使用下面的environment标签下的id属性进行指定配置--><!-- <settings>--><!-- <setting name="" value=""/>--><!-- </settings>--><environments default="development"><!-- 开发时再公司使用的数据库配置 id;就是提供给environment的default属性使用 --> <environment id="development"><!-- 配置事务管理器 type:指定事务管理的方式 jdbc:事务的控制交给管理员来处理 managed:由容器(spring)来管理事务--> <transactionmanager type="jdbc"></transactionmanager><!-- 配置数据源: type:指定不同的配置方式 jndi:java命名目录接口,在服务器端进行数据库连接池的管理 pooled:使用数据库连接池 unpooled:不使用数据库连接池--> <datasource type="pooled"><!-- 配置数据库连接的基本参数 private string driver; private string url; private string username; private string password;--> <property name="driver" value="${jdbc.driverclassname}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </datasource> </environment><!--在家时候数据库配置--><!-- <environment id="home">--><!-- <transactionmanager type=""></transactionmanager>--><!-- <datasource type=""></datasource>--><!-- </environment>--><!--<!–上线的数据库配置–>--><!-- <environment id="online">--><!-- <transactionmanager type=""></transactionmanager>--><!-- <datasource type=""></datasource>--><!-- </environment>--></environments><!-- 注册mappe.xml文件 resouces:从resouces目录下找指定名称的文件注册 url:使用绝对路径注册 class:动态代理方式下的注册--> <mappers> <mapper resource="studentmapper.xml"></mapper> </mappers></configuration>
创建实体类student用来封装数据package com.longlong.pojo;import java.util.objects;/** * @author dell longlong * @date 2022/7/1 14:51 * @version 1.0 * @function 实体类 */public class student { private integer id; private string name; private string email; private integer age; public student() { } public student(string name, string email, integer age) { this.name = name; this.email = email; this.age = age; } public integer getid() { return id; } public void setid(integer id) { this.id = id; } public string getname() { return name; } public void setname(string name) { this.name = name; } public string getemail() { return email; } public void setemail(string email) { this.email = email; } public integer getage() { return age; } public void setage(integer age) { this.age = age; } @override public boolean equals(object o) { if (this == o) return true; if (o == null || getclass() != o.getclass()) return false; student student = (student) o; return objects.equals(id, student.id) && objects.equals(name, student.name) && objects.equals(email, student.email) && objects.equals(age, student.age); } @override public int hashcode() { return objects.hash(id, name, email, age); } @override public string tostring() { return "student{" + "id=" + id + ", name='" + name + '\'' + ", email='" + email + '\'' + ", age=" + age + '}'; }}
添加增删改查添加完成学生表的增删改查的功能的studentmapper.xml文件
<?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:是整个文件的打标签,用来区分开始和结束xml文件 属性: namespace:指定命名空间(相当于包名),用来区分不同mapper.xml 文件中的相同id--><mapper namespace="ll"><!-- 完成查询全部学生的功能 list<student> getall(); resulttype:指定查询返回的结果集的类型,如果是集合,则必须是泛型 parametertype:如果有参数,则通过他来完成指定参数的类型--> <select id="getall" resulttype="com.longlong.pojo.student" > select * from student </select></mapper>
这里要说明一下,为了简单明了,暂时只实现了查询全部的功能
创建测试类进行功能测试最激动人心的时刻,要进行测试了
package com.longlong.test;import com.longlong.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;import java.util.list;/** * @author dell longlong * @date 2022/7/3 19:32 * @version 1.0 * @function */public class mytest { @test public void testgetall() throws ioexception { inputstream in = resources.getresourceasstream("sqlmapconfig.xml"); sqlsessionfactory factory = new sqlsessionfactorybuilder().build(in); sqlsession sqlsession = factory.opensession(); list<student> list = sqlsession.selectlist("ll.getall");// list.foreach(student -> system.out.println(student)); for (student student : list){ system.out.println(student); } system.out.println("ok"); sqlsession.close(); }}
运行结果
以上就是如何在java中应用mybatis框架?的详细内容。
