MYbatis框架Java数据库框架
可以在网上搜索Mybatis手册自己学习
使用这个框架的好处就是,不用再写麻烦的dao包,操作数据库的代码大大简化
新建项目
然后导入mybatis架包和连接数据库的连接包
我这里是jdbc
新建数据库连接.properties文件,注意这个文件中只能有等号这个特殊字符,*不能有引号或者逗号
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql:///数据库名字
jdbc.username = 数据库账号
jdbc.password = 数据库密码
新建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-->
<properties resource="db.properties"></properties>
<settings>
<!--自动转成驼峰命名法,两边的命名必须规范-->
<setting name="mapUnderscoreToCamelCase" value="true"></setting>
</settings>
<typeAliases>
<!--给pojo包下的所有javaBean设置别名,方便调用-->
<package name="com.j1910.pojo"></package>
</typeAliases>
<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下的所有xml配置文件-->
<package name="com.j1910.mapper"></package>
</mappers>
</configuration>
然后创建对应数据库的pojo
创建mapper接口和对应的mapper.xml配置文件
mapper.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">
<!--这里如果你像上述xml配置中配置了映射包命名空间就可以直接写接口类名,便于操作,如果没有就要写上全类名-->
<mapper namespace="com.j1910.mapper.UserMapper">
<!-- id为Mapper接口中的自己创建的抽象方法名,返回结果是你查询出来的类,因为上面给pojo起了别名,不需要写全类名-->
<select id="getUserById" resultType="user">
<!--sql语句-->
SELECT * FROM user WHERE id = #{id};
</select>
</mapper>
接口和配置文件先放到同一包下
创建测试类,下面写在main方法中
//让程序在启动时就去读取这个配置文件
String resource = "mybatis配置xml文件的位置";
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建sqlSessionFactory工厂,用来获取sqlSession,一旦获取他应该是整个项目都用的是同一个,所以要设成全局或是单例模式
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//这个sqlSession是线程不安全的所以要用完一次就要关闭一次
SqlSession session = sqlSessionFactory.openSession(true);//true表示自动提交
UserMapper mapper = session.getMapper(UserMapper.class);//获取接口对象,调用方法
System.out.println(mapper.getUserById(1));
//需要捕获异常,在finally中关闭session.close();
//获取接口对象,调用方法
System.out.println(mapper.getUserById(1));
//需要捕获异常,在finally中关闭session.close();
qq1271224158.