1.mybatis入门
Posted wei_hu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.mybatis入门相关的知识,希望对你有一定的参考价值。
一:创建表
CREATE TABLE `country` ( `id` int(11) NOT NULL AUTO_INCREMENT, `countryname` varchar(255) DEFAULT NULL, `countrycode` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; INSERT INTO `country` VALUES (\'1\', \'中国\', \'CN\'); INSERT INTO `country` VALUES (\'2\', \'美国\', \'US\'); INSERT INTO `country` VALUES (\'3\', \'俄罗斯\', \'RU\'); INSERT INTO `country` VALUES (\'4\', \'英国\', \'GB\'); INSERT INTO `country` VALUES (\'5\', \'法国\', \'FR\');
二:项目结构
三.代码:
Country.java
package tk.mybatis.simple.model; /** * 实体类Country */ public class Country { private Long id; private String countryname; private String countrycode; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getCountryname() { return countryname; } public void setCountryname(String countryname) { this.countryname = countryname; } public String getCountrycode() { return countrycode; } public void setCountrycode(String countrycode) { this.countrycode = countrycode; } @Override public String toString() { return "Country{" + "id=" + id + ", countryname=\'" + countryname + \'\\\'\' + ", countrycode=\'" + countrycode + \'\\\'\' + \'}\'; } }
CountryMapperTest.java
package tk.mybatis.simple.mapper; 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 org.junit.BeforeClass; import org.junit.Test; import tk.mybatis.simple.model.Country; import javax.annotation.Resource; import java.io.IOException; import java.io.Reader; import java.util.List; public class CountryMapperTest { private static SqlSessionFactory sqlSessionFactory; @BeforeClass public static void init(){ try { Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader); reader.close(); } catch (IOException e) { e.printStackTrace(); } } @Test public void testSelectAll(){ SqlSession sqlSession = sqlSessionFactory.openSession(); try { List<Country> selectAll = sqlSession.selectList("selectAll"); System.out.println("selectAll"+selectAll); } finally { sqlSession.close(); } } }
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> <!--1.用于指定输出LOG4J输出日志--> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <!--2.别名,包名--> <typeAliases> <package name="tk.mybatis.simple.model"/> </typeAliases> <!--3.mysql数据库--> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"> <property name="" value=""/> </transactionManager> <dataSource type="UNPOOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/bybatis"/> <property name="username" value="root"/> <property name="password" value="weihu123"/> </dataSource> </environment> </environments> <!--4.引入映射文件--> <mappers> <mapper resource="tk/mybatis/simple/mapper/CountryMapper.xml"/> </mappers> </configuration>
CountryMapper.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"> <!--sql语句映射文件--> <!--因为已经配置了别名,所以resultType可以直接写类名,没有配置的话就要写类全名--> <mapper namespace="tk.mybatis.simple.mapper.CountryMapper"> <select id="selectAll" resultType="Country"> SELECT id,countryname,countrycode FROM country; </select> </mapper>
log4j.properties
#\\u5168\\u5C40\\u914D\\u7F6E log4j.rootLogger=ERROR, stdout #MyBatis \\u65E5\\u5FD7\\u914D\\u7F6E log4j.logger.tk.mybatis.simple.mapper=TRACE #\\u63A7\\u5236\\u53F0\\u8F93\\u51FA\\u914D\\u7F6E log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
以上是关于1.mybatis入门的主要内容,如果未能解决你的问题,请参考以下文章