[ 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>
