博文
iBATIS的多对多映射配置方法之三(转)(2012-09-19 15:05:00)
摘要:
iBATIS的多对多映射配置7,测试
package com.lsm.test;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.lsm.domain.Student;
import com.lsm.domain.Teacher;
public class Many2Many
{
private static SqlMapClient sqlMapClient = null;
static
{
try
{
Reader reader&nbs......
iBATIS的多对多映射配置方法之二(转)(2012-09-19 15:05:00)
摘要:
iBATIS的多对多映射配置6,sqlmap配置文件
Teacher.xml
﹤?xml version="1.0" encoding="UTF-8" ?﹥
!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd"﹥
﹤sqlMap namespace="teacher"﹥
﹤typeAlias alias="Teacher" type="com.lsm.domain.Teacher" /﹥
﹤typeAlias alias="Student" type="com.lsm.domain.Student" /﹥
﹤resultMap class="Teacher" id="teacherBasicResultMap"﹥
﹤result property="id" column="id"/﹥
﹤result property="name" column="name"/﹥
﹤result pr......
iBATIS的多对多映射配置方法(转)(2012-09-19 15:04:00)
摘要:
iBATIS的多对多映射配置方法和多对一映射配置方法差不多,不同的是,多对多映射,数据库设计上需要一个记录两个类关系的中间表,本文以学生-老师为例,在iBATIS的sqlmap中配置多对多关系。
iBATIS的多对多映射配置1,建表。数据库中三个表,分别为:
CREATE TABLE [student] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[birthday] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
CONSTRAINT [PK_student] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
--------------------------------------------------
CREATE TABLE [teacher] (
[id] ......
MySQL客户端连接太慢(2012-04-17 08:55:00)
摘要:
使用MySQL时,发现用客户端连接速度非常缓慢。刚开始以为是网速慢导致的,之后在同一台主机安装了postgreSQL数据库,并用客户端连接,发现速度很快。因此可见不是网速问题导致MySQL客户端连接慢。
查了相关资料,发现MySQL配置文件中的my.cnf [mysql] 下面没有 skip-name-resolve 。这个属性是不做DNS反向解析。
而恰恰我主机配置了DNS。所以导致了速度太慢。 于是我添加了skip-name-resolve属性。重启MySQL服务,再次连接,速度很快了。
......
MYSQL-使COUNT(*)查询总数变快(转)(2011-10-27 17:04:00)
摘要:
用COUNT来查询一个表的记录多少,小的时候无所谓,记录多的时候速度就是个问题。此刻表引擎为MyISAM.
mysql> desc content;
+---------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------+------+-----+---------+-------+
| cid | int(11) | NO | | 0 | |
| aid | int(11) | YES | | NULL | |
| content | mediumtext | YES | | NULL | |
+---------+------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
mysql> select count(*) from content;
+----------+
| count(*) |
+----------+
| 208081 |
+----------+
1 row in set (0.05 sec)
更新为INNODB.
mysql> alter table content engine innodb;
Query OK, 208081 rows affected (2 min 19.80 sec)
Records: 208081 Duplicates: 0 Warnings: 0
mysql> select count(*) from content;
+----------+
| count(*) |
+----------+
| 208081 |
+----------+
1 row in set (33.99 sec)
新建立一个表专门存储记录的多少。如果要存放多个表的记录数目,以后增加相应的字段就可以了。
create table t_count (count_content int not null default 0);
insert into t_count......