将mybatis文件夹中lib文件夹下的jar包和mybatis包复制到src中。.
再把mysql连接java的jar包复制到src,再把这些包一起加到path中:
建立一个叫config的source folder。把log4j.properties文件复制到config下。
再在config下建立一个XML文件叫sqlMapConfig.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> <!-- 数据库环境配置如果和spring整合就不需要配了,完全交给spring,下面部分干掉 --> <environments default="development"> <!-- 这里的default名称是什么,就调用下面哪个环境,也就是可以调用某一个数据库(MYSQL或Oracle) --> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <!-- 管理每一张表的映射文件 resource:引入映射文件,注意包之间用斜线 --> <mappers> <mapper resource="xxx/x/mapper/PersonTestMapper.xml" /> </mappers> </configuration>
mapper里的地址是config里的mapper路径:
在config下建一个包:xxx.x.mapper,在包下建一个PersonTestMapper.xml文件,名字是表名加个Mapper。
<?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"> <!-- namespace:映射文件的命名空间,内容规范就是映射文件的包名.此xml文件名 --> <mapper namespace="xxx.x.mapper.PersonTestMapper"> <!-- parameterType是传递参数的类型,下面为整型写法 sql语句最后一个参数id是变量 resultType是查询后的结果,内容是需要输出到的地址,那个Person类里需要定义好那些需要接受数据的属性 #{}使用预编译的方式生成SQL,防止sql的注入
--> <select id="selectPersonByID" parameterType="java.lang.Integer" resultType="xxx.x.Person"> select * from person_test where id = #{id} </select> </mapper>
执行语句:
SqlSessionFactory sessionFactory; public void setUp() throws Exception { InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml"); sessionFactory = new SqlSessionFactoryBuilder().build(in); } public void test() { //创建SqlSession SqlSession session = sessionFactory.openSession();
Person person = session.selectOne("xxx.x.mapper.PersonTestMapper.selectPersonByID", 1); //第一个参数是查找到要执行的sql语句,用命名空间.id / 第二个参数是传递进去的参数 System.out.println(person); session.close(); }