Mybatis手动初始化使用
2022-06-29javaee攻城狮874°c
A+ A-不依赖其他框架,单纯的使用mybatis,手动初始化,并可操作数据库。
简单记录,以后备查。
Mybatis坐标:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.10</version> </dependency>
resource下添加配置文件application.properties和mybatis-config.xml用于基础的配置.
application.properties内容:
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/mytest?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8 jdbc.username=数据库用户名 jdbc.password=数据库密码
mybatis-config.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> <properties resource="application.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration>
创建UserMapper接口:
package com.atnoce.mybatis.mapper; import com.atnoce.mybatis.pojo.User; public interface UserMapper { User selectUserById(Long id); void insertUser(User user); }
创建UserMapper.xml文件,创建的位置要跟mybatis-config.xml配置的mappers中的路径对应:
<?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="com.atnoce.mybatis.mapper.UserMapper"> <select id="selectUserById" resultType="com.atnoce.mybatis.pojo.User"> select * from user where id=#{id} </select> <insert id="insertUser" parameterType="com.atnoce.mybatis.pojo.User"> insert into user (name,age,email) values (#{name},#{age},#{email}) </insert> </mapper>
创建实体类:
package com.atnoce.mybatis.pojo; public class User { private long id; private String name; private int age; private String email; //....此处省略get set,可用IDE自动生成也可用lombok }
创建测试类:
package com.atnoce.mybatis; import com.atnoce.mybatis.mapper.UserMapper; import com.atnoce.mybatis.pojo.User; import com.google.gson.Gson; 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 java.io.InputStream; public class App { public static void main(String[] args) throws Exception{ String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.selectUserById(1L); System.out.println(new Gson().toJson(user)); User user1 = new User(); user1.setAge(33); user1.setEmail("admin"); user1.setName("ssss"); mapper.insertUser(user1); //如果有修改数据,记得提交 sqlSession.commit(); //操作完数据库记得关闭 sqlSession.close(); } }
项目结构截图:
标签:Mybatis