充实你的上网体验:书签管理插件的必备利器
692
2023-03-14
如何通过XML方式配置并实现Mybatis
idea中创建一个maven项目
在pom文件中导入下面的依赖
创建一个java源文件夹和resources资源文件夹并准备好mybatis配置文件mybaits.xml和数据库文件db.properties
mybaits.xml
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
db.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/prc?userUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username=root
password=root
数据库准备
准备相应的对象
创建一个Student对象,和数据库的表对应
public class Student {
private String s_id;
private String s_name;
private String s_birth;
private String s_sex;
public Student() {}
//getter,setter 方法省略
}
mapper的准备 ,创建一个mapper文件夹,并在内创建一个StudentMapper接口
public interface StudentMapper {
//查找学生表全部信息
public List
//根据姓名查找学生
public Student selectByName(String name);
//插入一条学生信息
public void insertOne(Student stu);
//根据姓名删除一条学生信息
public void deleteByName(String http://name);
//根据姓名修改一条学生信息
public void updateByName(Student stu);
}
在resoures资源文件夹下创建和mapper文件夹路径相同的文件夹
然后创建映射文件StudentMapper.xml
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
SELECT s_id,s_name,s_birth,s_sex FROM student
SELECT s_id,s_name,s_birth,s_sex FROM student
WHERE s_name = #{name}
INSERT INTO student (s_id,s_name,s_birth,s_sex) VALUES (#{s_id},#{s_name},#{s_birth},#{s_sex})
DELETE FROM student where s_name = #{s_name}
UPDATE student SET s_birth = #{s_birth},s_sex = #{s_sex} WHERE s_name = #{s_name}
抽取出一个MybatisUtil工具类
public class MybatisUtil {
private static SqlSessionFactory sqlSessionFactory;
//静态代码块:在使用的时候先执行,并且执行一次
static {
try {
InputStream is = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//创建一个工厂实例(加载了我们的配置文件)
sqlSessionFactory = builder.build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
*拿到了一个SqlSession对象
*/
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
public static void closeSqlSession(SqlSession sqlSession) {
if (sqlSession != null) {
sqlSession.close();
}
}
}
编写测试类
public class SqlTest {
@Test
public void testSelectAll() {
//通过工具类获得SqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
//获取到绑定到SqlSession的POJO类对应的映射
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
//通过映射调用查询方法
List
//关闭SqlSession
sqlSession.close();
for (Student student : students) {
System.out.println(student);
}
}
@Test
public void testSelectByName() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student stu = studentMapper.selectByName("吴兰");
sqlSession.close();
System.out.println(stu);
}
@Test
public void testInsertOne() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student stu = new Student();
stu.setS_id("09");
stu.setS_name("李水");
stu.setS_birth("1988-08-22");
stu.setS_sex("男");
studentMapper.insertOne(stu);
//增、删、改需要提交事务,否则不会修改
sqlSession.commit();
sqlSession.close();
}
@Test
public void testDeleteByName() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
studentMapper.deleteByName("李水");
hlprEVxybH sqlSession.commit();
sqlSession.close();
}
@Test
public void testUpdateByName() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student stu = new Student();
stu.setS_name("李水");
stu.setS_birth("1999-01-22");
stu.setS_sex("女");
studentMapper.updateByName(stu);
sqlSession.commit();
sqlSession.close();
}
}
测试查询结果
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~