Getting started with My Baits (1) Setting up the mybaits environment, baitsmybaits
1) introduce the mybatis-3.4.1.jar package under the project, then introduce the database (mysql, mssql...) package.
2) create a configuration file conf. xml under src
<? Xml version = "1.0" encoding = "UTF-8"?> <! DOCTYPE configuration PUBLIC "-// mybatis.org//DTD Config 3.0 //" http://mybatis.org/dtd/mybatis-3-config.dtd "> <configuration> <! -- Introduce the external configuration file --> <properties resource = "jdbc. properties"/> <! -- Configure the mybatis runtime environment --> <environments default = "development"> <environment id = "development"> <! -- Type = "JDBC" indicates the use of JDBC commit and rollback to manage transactions --> <transactionManager type = "JDBC"/> <! -- Mybatis provides three data source types: POOLED, UNPOOLED, and JNDI --> <! -- POOLED indicates that JDBC data source connection pool is supported --> <! -- UNPOOLED indicates that the data source connection pool is not supported --> <! -- JNDI indicates that the external data source connection pool is supported --> <dataSource type = "POOLED"> <property name = "driver" value = "$ {driver}"/> <property name = "url "value =" $ {url} "/> <property name =" username "value =" $ {username} "/> <property name =" password "value =" $ {password} "/> </dataSource> </environment> </environments> <mappers> <mapper resource =" userMapper. xml "/> </mappers> </configuration>
The external configuration file is used to store data inventory information. Therefore, a jdbc. properties data inventory information is added.
driver=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://127.0.0.1;databaseName=testusername=sapassword=123456
3) create a ing file userMapper. xml
<? Xml version = "1.0" encoding = "UTF-8"?> <! DOCTYPE mapper PUBLIC "-// mybatis.org//DTD Mapper 3.0 //" http://mybatis.org/dtd/mybatis-3-mapper.dtd "> <mapper namespace =" hsf-com. ser. IUser "> <! -- Query all users --> <select id = "queryUsers" resultType = "hsf-com. pojo. user "> select * from MS_User </select> <selectid =" queryUserById "resultType =" hsf-com. pojo. user "parameterType =" int "> Select * From Ms_User Where id =#{ id} </select>
</Mapper>
(Note that the namespace attribute is shown in the following figure:
4) create a ing Interface Class
Package hsf-com. ser; import java. util. list; import hsf-com. pojo. user; public interface IUser {public List <User> queryUsers (); public User queryUserById (int id );}View Code
5) create a SqlSessionFactory
package hw.com.util;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;import java.util.Properties;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class SqlSessionFactoryUtil { private static SqlSessionFactory sqlSessionFactory = null; private static final Class CLASS_LOCK = SqlSessionFactoryUtil.class; private SqlSessionFactoryUtil() { } public static SqlSessionFactory initSqlSessionFactory() { String resource = "conf.xml"; InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { e.printStackTrace(); } synchronized (CLASS_LOCK) { if (sqlSessionFactory == null) { sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } } return sqlSessionFactory; } public static SqlSession openSqlSession(){ if(sqlSessionFactory==null){ initSqlSessionFactory(); } return sqlSessionFactory.openSession(); }}
6) create a pojo
package hw.com.pojo;import java.util.Date;public class User { private String Id; private String UserName; private String UserPwd; private int DeptmentId; private String UserTrueName; private String Email; private int LearnCenterId; private Date CreateDate; private Date LastModifyDate; private int UserStatus; public User() { super(); // TODO Auto-generated constructor stub } public String getId() { return Id; } public void setId(String id) { Id = id; } public String getUserName() { return UserName; } public void setUserName(String userName) { UserName = userName; } public String getUserPwd() { return UserPwd; } public void setUserPwd(String userPwd) { UserPwd = userPwd; } public int getDeptmentId() { return DeptmentId; } public void setDeptmentId(int deptmentId) { DeptmentId = deptmentId; } public String getUserTrueName() { return UserTrueName; } public void setUserTrueName(String userTrueName) { UserTrueName = userTrueName; } public String getEmail() { return Email; } public void setEmail(String email) { Email = email; } public int getLearnCenterId() { return LearnCenterId; } public void setLearnCenterId(int learnCenterId) { LearnCenterId = learnCenterId; } public Date getCreateDate() { return CreateDate; } public void setCreateDate(Date createDate) { CreateDate = createDate; } public Date getLastModifyDate() { return LastModifyDate; } public void setLastModifyDate(Date lastModifyDate) { LastModifyDate = lastModifyDate; } public int getUserStatus() { return UserStatus; } public void setUserStatus(int userStatus) { UserStatus = userStatus; } @Override public String toString() { return "User [Id=" + Id + ", UserName=" + UserName + ", UserPwd=" + UserPwd + ", DeptmentId=" + DeptmentId + ", UserTrueName=" + UserTrueName + ", Email=" + Email + ", LearnCenterId=" + LearnCenterId + ", CreateDate=" + CreateDate + ", LastModifyDate=" + LastModifyDate + ", UserStatus=" + UserStatus + "]"; }}
7) Test the main method.
package hw.com.Day1.main;import java.util.List;import org.apache.ibatis.session.SqlSession;import hw.com.pojo.User;import hw.com.ser.IUser;import hw.com.util.SqlSessionFactoryUtil;public class UserTest { public static void main(String[] args) { SqlSession sqlSession=null; try { sqlSession=SqlSessionFactoryUtil.openSqlSession(); IUser iUser=sqlSession.getMapper(IUser.class); List<User> users=iUser.queryUsers(); if(users.size()>0){ for (User user : users) { System.out.println(user.toString()); } } } catch (Exception e) { e.printStackTrace(); } }}