标签:utf-8 XML dtd led 标签 from static 参考 项目
项目模型:
一、创建一个web项目ssm001
1、1准备数据
在数据创建表并添加数据
1、2在web-INF下lib加入mybatis所需jar包:
1、3在项目src下配置mybatis配置文件config.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://www.mybatis.org/dtd/mybatis-3-config.dtd"> <!-- configuration根标签 --> <configuration> <!-- 二、(1)定义实体bean名和数据库列名相对应 type:实体的路径 alias:实体的别名 --> <typeAliases> <typeAlias type="com.ckx.entity.User" alias="User" /> </typeAliases> <!-- 一、 配置环境信息 --> <environments default="development"> <environment id="development"> <!-- 指定事务管理机制 --> <transactionManager type="JDBC"></transactionManager> <!-- 配置数据源 POOLED: 连接池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/ssm001?useUnicode=true&characterEncoding=utf8" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <!-- 二、 (2)引入关系映射文件!!!这里有严格顺序!不能放在数据源配置前 --> <mappers> <mapper resource="com/ckx/entityMapper/User.xml" /> </mappers> </configuration>
请注意注释 “二、 (2)引入关系映射文件!!!这里有严格顺序!不能放在数据源配置前 ”,lz当时人为一个映射地址放在那里斗舞所谓,
结果报错,莫名其妙的找了好久的错,关于原因请参考:http://www.cnblogs.com/ckxlovejava/p/6059960.html
二、创建实体与映射文件:
2、1创建和数据库对应的实体user类,注意变量和数据库字段的对应
package com.ckx.entity; public class User { private int userId; private String userName; private String passWord; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } }
2.2配置与实体相对的映射文件用于存放sql语句(user.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="com.ckx.entityMapper.User"> <select id="selectRoolByuserId" parameterType="int" resultType="User"> select * from ckx_user where UserId=#{UserId} </select> </mapper>
三、测试
创建测试类UserlTest.java:
package com.ckx.test; import java.io.IOException; import java.io.Reader; 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 com.ckx.entity.User; public class UserlTest { //获取org.apache.ibatis.session.SqlSessionFactory很重要 static SqlSessionFactory sessionFactory; static Reader reader; public User user; static{ try { //获取org.apache.ibatis.io.Resources从config.xml的读入流 reader= Resources.getResourceAsReader("config.xml"); sessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //从数据库读取一条信息 private void selectRoolByuserId() { SqlSession session = sessionFactory.openSession(); user= session.selectOne("com.ckx.entityMapper.User.selectRoolByuserId",1 ); System.out.println(user.getUserName()); } public static void main(String[] args) { UserlTest ut = new UserlTest(); ut.selectRoolByuserId(); } }
运行:ckx
综合说明:
标签:utf-8 XML dtd led 标签 from static 参考 项目
原文地址:http://www.cnblogs.com/ckxlovejava/p/6060542.html