Mybatis使用步骤

tech2024-07-16  61

Mybatis使用步骤

先创建configuration文件,xml格式写一个mapper准备工作结束创建一个SqlSessionFactory增删改查

先创建configuration文件,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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/ex3"/> <property name="username" value="root"/> <property name="password" value=""/> </dataSource> </environment> </environments> <mappers> <mapper resource="User.xml"/> </mappers> </configuration>

这里的 mapper 标签是用来表示使用哪个哪些mapper的,mapper是用来表示操作表格的封装文件 有四种属性。我忘了。resource表示mapper路径

写一个mapper

放到resources文件夹里

<?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="User"> <resultMap id="result" type="org.example.User"> <result property="id" column="id"/> <result property="username" column="username"/> <result property="email" column="email"/> <result property="password" column="password"/> </resultMap> <insert id="insert" parameterType="org.example.User"> INSERT INTO User (username, email, password) VALUES (#{username}, #{email}, #{password}); </insert> </mapper>

resultmap是select出来的格式 parameterType是在Java文件中使用时的参数类型,这里选择自建的User类,路径为compile之后的 以target/classes为准的相对路径,也就是compile之前的以src/main/java文件夹为准的相对路径

准备工作结束

写个Java程序

创建一个SqlSessionFactory

Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader); //创建factory SqlSession sqlSession = factory.openSession();//创建session

这个session就是可以执行增删改查了

增删改查

User user = new User("1133", "1133@qq.com", "1133"); int insert = sqlSession.insert("User.insert", user);

这里的User.insert是因为configuration.xml文件里的mapper里有个User.xml 而在User.xml里的mapper的namespace又是User,所以这样子找到了User, 然后mapper里的id又有个insert,就找到了User.insert insert接收的参数parameterType又是User,所以参数为User类

最新回复(0)