[ JAVA ] Mybatis接口式编程
1、声明接口
public interface UserMapping { public User getinfo(Integer id); }
2、Usermappping 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 namespace="UserMapping"> <!-- namespace:名称空间,此处为借口名称 id:唯一标识 resultType:返回类型 --> <select id="getinfo" resultMap="User"> <!-- id为函数名称--> select * from user where id = #{id} </select> </mapper>
3、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> <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:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- 需要把自己写的xml配置注册--> <mappers> <mapper resource="UserMapping.xml"/> </mappers> </configuration>
4、测试代码
import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import java.io.IOException; import java.io.InputStream; public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { /* 根据xml文件配置创建一个session */ String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e){ System.out.println(e); } } public static void main(String[] args){ SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapping mapper = sqlSession.getMapper(UserMapping.class); User user = mapper.getinfo(1); System.out.println(user); sqlSession.close(); } }
insert接口写法
public void insertinfo(@Param("id") Integer id, @Param("name") String name, @Param("number") String number, @Param("major") String major, @Param("old") String old);
XML
<insert id="insertinfo" parameterType="org.example.entity.Student"> <!-- id为函数名称--> insert into user(id,name,number,major,old) values(#{id},#{name},#{number},#{major},#{old}) </insert>